git基础命令

git --version 查看git版本信息

rm -rf dev 删除dev这个文件夹

mkdir dev 创建文件夹

初始化git仓库
git init 在nodejs文件夹下初始化一个仓库,此时文件里会到一个.git的隐藏文件夹

ls -al 可以查看所有的东西 .git也可以看到

本地文件绑定git仓库

git init 
git remote add origin git仓库地址  //连接远程仓库  仓库名 origin也可以自己更改 因为本地项目可以既关联git有可以关联码云 
git remote rm origin 			 // 删除远程仓库
git checkout -b master 			 //创建分支并切换
git status						 // 查询仓库状态
git add .						// 将文件添加到暂存区
git commit -am '注释'			//添加本地文件到版本库
git push origin master           //要是直接push不上去的话就直接强推 git push -f origin dev  
github仓库更改为阿里云
  1. 打开git安装文件夹里的git-cmd.exe
  2. 在git提示符里cd到本地git库
  3. 运行git remote show origin,会显示远端仓库名称
  4. 运行git remote set-url (上一步远端仓库名) https://阿里云code地址
  5. git fetch验证,操作成功即完成

创建忽略文件
touch .gitignore 创建忽略文件 不需要服务器端提交的内容可以写到忽略文件里

查看提交记录和版本回退

git log 产看提交历史,以便确定要回退到哪个版本
git log --pretty=oneline 可以看到commit版本号
git reset --hard commit_id 回退到某个版本  改变了head的指向

Bug分支
当有遇到bug需要修复但是你dev分支的工作还没有提交,但是dev的工作还没完成又必须去修复bug,怎么办?
git stash 这个功能可以把现场工作储藏起来,等以后恢复现场后继续工作
然后切换到bug分支去修改代码,修改完提交到master

流程:
git checkout -b bug //创建bug分支并切换 在这分支上修改bug
git add . 			// 修改完了提交并commit
git commit -am 'xxx'
git checkout master // 切换到master分支并合并bug分支的代码 然后就可以删除这个分支了
git merge --no-ff -m 'xxxxx' bug

然后回到dev分支继续开发:

git stash list // 查看暂存的记录  需要恢复一下之前的工作现场
// 1. git stash apply恢复,但是恢复后,stash内容并不删除,需要用git stash drop来删除
// 2. git stash pop 恢复的同时也把stash内容删除了  一般用这个方法恢复现场
注意:也可以多次stash,恢复的时候用: git stash apply stash{0}

撤销修改

git checkout -- 文件名  // 把文件在工作区的修改全部撤销 有两种情况:
// 1.文件修改后还没有被放到暂存区,撤销修改后就会到版本库一模一样的状态
// 2.文件已经添加到了暂存区,又做了修改,现在,撤销修改就回到添加到暂存区后的状态
git reset HEAD 文件名 //可以把暂存区的修改撤销掉,重新放到工作区
git checkout -- 文件名  // 也可以把本地误删的文件撤会 相当于一键还原

查看文件内容

	cat index.html
git remote -v               查看远程仓库
git remote rm ogigin        删除远程仓库

**开发的时候不在master开发,会切分支来开发**

git branch dev //创建分支


git branch //查看分支


git checkout dev //切换分支


git branch -d 分支名字 //删除本地分支
如果要丢弃一个没有被合并的分支 可以用大写的D git branch -D 分支名字
git push origin --delete 删除远程分支


git checkout -b dev //创建分支并切换


git pull origin 分支名 //拉取远程分支 下载代码不成功的话就拉取远程分支


git commit -a -m ‘dev1’ //在分支上提交新的版本


git log --oneline --graph --decotate //分支的合并显示log


通常我们提交git的时候都是

    git add .
    git commit -am "some str"
    git push
    git push -f origin 分支 //强推 push不行用这个,多人协作可能会覆盖别人的代码,容易被打死

下载的时候
	
		
	git clone xxxxx
	git branch -b 分支  //先切换到对应的分支上  
	git pull origin 分支 //拉取对应分支的数据

**合并分支**

	git merge 分支  //将此分支合并到当前分支上  合并上之后需要git push origin 当前分支  到服务器

	查看修改的内容  git diff

**git tag 打标签**

git tag 标签名 // 默认是打在最新的commit上的,但是有时候忘记打标签,比如现在是周五了,但应该在周一打的标签没有打怎么办

  1. git log --pretty=oneline --abbrev-commit 找到历史提交的commit,然后打上去
  2. git tag v1.2 05ac981(commit) // ok
  3. git show // 查看打的标签信息
  4. git tag -d //删除一个本地标签
  5. git push origin 标签名 推送一个本地标签
  6. git push origin --tags 推送全部未推送过的本地标签
  7. git push origin :refs/tags/ 删除一个远程标签
    ``

多人协作

1.`git push origin <branch-name>`推送自己的修改
2. 如果推送失败,则因为怨恨曾分支比你的本地更新,需要用`git pull`试图合并
3. 如果合并有冲突,则解决冲突,并在本地提交
4. 没有冲突或者解决掉冲突后,再用`git push origin <branch-name>`推送
如果`git pull`提示`no tracking information`,则说明本地分支和远程分支的链接关系没有创建,用命令`git branch --set-upstream-to=origin/remote_branch  your_branch`
remote_branch是你本地分支对应的远程分支;your_branch是你当前的本地分支

cherry-pick
大佬安利的,说是白金级好用的命令—>用于从git库里挑选一个commit应用到当前分支
eg: 你开发了新的值班系统提交到dev分支,目前打算上线该功能(对应到master分支),但是dev上其他的commit还不想上线

  1. 找出这次提交的版本号 例如是0aef3c
  2. 切换本地代码库到master分支并且更新到最新
  3. git fetch 将远端仓库的所有commit拉回来,目的就是为了git数据库里有0aef3c这个提交
  4. git cherry-pick 0aef3c 然后commit,会生成一个新的commit,可能会产生冲突,解决就好~

修改commit记录
git commit -m 提交之后,发现-m的说明文字写的有问题,想要重新写一次,也就是想撤销上次的提交动作,重新提交一次
git commit --amend

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值