git command

/********************************************************************************************************/
git reset 
git reset --hard  HEAD^
把工作区、暂存区和版本库都回到head的前一个版本
git reset HEAD^
工作区不变,把暂存区和版本库都回到head的前一个版本
git reset --soft  HEAD^
工作区、暂存区不变,把版本库都回到head的前一个版本
git reset --hard  HEAD
撤销暂存区的修改,即用版本库覆盖暂存区,工作目录不变


2.放弃本地修改,直接覆盖之
git reset --hard
git pull


git checkout master 
git merge origin/master 
# do your thing 
git commit 
git push origin master 


/********************************************************************************************************/
1.stash
通常遇到这个问题,你可以直接commit你的修改;但我这次不想这样。
看看git stash是如何做的。
git stash
git pull
git stash pop
接下来diff一下此文件看看自动合并的情况,并作出相应修改。
git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。


2.放弃本地修改,直接覆盖之
git reset --hard
git pull


/********************************************************************************************************/


git diff
working tree:就是你所工作在的目录,每当你在代码中进行了修改,working tree的状态就改变了。
index file:  是索引文件,它是连接working tree和commit的桥梁,每当我们使用git-add命令来登记后,index file的内容就改变了,此时index file就和working tree同步了。
commit:     是最后的阶段,只有commit了,我们的代码才真正进入了git仓库。我们使用git-commit就是将index file里的内容提交到commit中。


总结一下:
git diff:         是查看working tree与index file的差别的。
git diff --cached:是查看index file与commit的差别的。
git diff HEAD:    是查看working tree和commit的差别的。(你一定没有忘记,HEAD代表的是最近的一次commit的信息)


/********************************************************************************************************/


3.git reflog
  git log


4.git push origin HEAD:ref/for/master


  简单点说,就是refs/for/mybranch需要经过code review之后才可以提交;refs/heads/mybranch不需要code review
  如果需要code review,直接push
  $git push origin master
  那么就会有“! [remote rejected] master -> master (prohibited by Gerrit)”的错误信息
  而这样push就没有问题,
  $git push origin HEAD:refs/for/mybranch


5.git stash
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值