当前位置:   article > 正文

git代码回退_git 回退命令

git 回退命令

对于代码的回退主要有 git reset 、git revert

1.git reset

  • git reset commitId --soft:回退当前代码仓库到指定提交commitId,当前HEAD和commitId之间的修改会保留,这些修改会在暂存区。就是保留了add的状态
  • git reset commitId --hard:回退当前代码仓库的代码到指定commitId,这之间的代码会丢失。
  • git reset commitId --mixed:回退代码到commitId,修改保存在工作区,就是没有add的状态

要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本,简单来说可以看到我们丢失的commitId。

2.git revert

  • git revert commitId:撤销指定提交commitId。会建立一个新的commit,这个commit的内容就是指定commitId的反向,也就是提交一个新的commit把commitId对应的修改内容还原。

总结

图例说明

  • reset是彻底回退到指定的commit版本,该commit后的所有commit都将被清除,包括提交历史记录;
  • revert仅仅是撤销指定commit的修改,并不影响后续的commit,但所撤销的commit被后续的commit修改了同一地方则会产生冲突;
  • reset执行后不会产生记录,revert执行后会产生记录;
  • reset执行后无法再次恢复,revert执行后因为不会清除记录,并且会产生新纪录,所以文件不会丢失,你可以多次执行revert恢复到某次改变之前的状态;
  • reset执行后HEAD会后移,而revert的HEAD则一直是向前的;
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/980477
推荐阅读
相关标签
  

闽ICP备14008679号