git 记录2

有两种方式来使用git reset

  • git reset HEAD~yourNumber 传入基于当前HEAD要回退的版本次数
  • git reset yourCommitId 传入要回退到的指定版本号

git reset有三种模式

  • 默认mixed模式,这种模式下回退之后,工作区还保持不变,缓存区没有内容,提交区指向了你要回退到的地方。也就是说,确实回退了,但是内容是现在版本的内容,你可以自己丢弃,丢弃之后就和你要去的那个版本一模一样了。
  • hard模式,这个模式下,你回退之后就会到你回退的那个版本。工作区是那个版本的信息,缓存区没有内容,提交区指向你要回退的地方。总之就是和你要回退的那个地方的装填一模一样。这个一般用的多一点,就像直接回去。
  • soft模式,这个模式下,工作区还是保持不变,缓存区里把领先版本的内容变化都缓存好了,提交区指向要提交的地方

上面所有的reset操作,都会让前置的提交空置。
同时,git log中的相关记录会发生变化。这样其实可以让commit的次数减少。
不过对于公共库的reset操作应该谨慎,具体以后再讨论。
reset之后,想要在看到以前的记录可以用 git reflog


checkout到不同的分支的时候,同时不同分支的HEAD指向的是不同的commitid的时候,如果工作区或者缓存区有修改,git都会提示让你清理掉这些,才能让你提交。


也可以用checkout来做一个分支上的版本回退。不过好像不推荐这么做
git checkout HEAD~2,这种命令可以回退到当前分支的前两个版本,不过一般不这么做。


git revert命令可以用创建一次新提交的方式去还原以前的版本

git revert yourCommitId这种方式还原,一般是用于线上项目的,自己维护的没有提交的使用reset。这样是为了避免不必要的麻烦。还有一个问题就是既然是用revert还原,冲突几乎是必然的,要手动删掉,然后创建一次新提交。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值