前言
回滚没有入库的提交,使用git reset 很方便,但是对于入库的提交,想撤回的话,需要使用git revert
1. 回滚单个提交
回退库中最近一次推送的提交:git revert HEAD
回退指定的某次提交:
git revert xxxx
git revert 命令还有两个参数。
–no-edit:执行时不打开默认编辑器,直接使用 Git 自动生成的提交信息。
–no-commit:只抵消暂存区和工作区的文件变化,不产生新的提交。
2. 回滚多个提交
假如git commit 链是
A -> B -> C -> D
如果想把B,C,D都给revert,除了一个一个revert之外,还可以使用 range revert
git revert B^..D
这样就把B,C,D都给revert了,变成:
A-> B ->C -> D -> D'-> C' -> B'
我们可以看到依次生成D’、 C’ 、B’ 三次提交
实战用法就是:
1) git revert OLDER_COMMIT^..NEWER_COMMIT
2) 手动提交 //注意,别忘了手动提交至库中
如果我们想把这三个revert不自动生成三个新的commit,而是合并为一个commit完成,可以这样:文章来源:https://www.toymoban.com/news/detail-662806.html
git revert -n OLDER_COMMIT^..NEWER_COMMIT // -n起到合并作用,是New的缩写
git commit -m "revert OLDER_COMMIT to NEWER_COMMIT"
参考
git revert多个提交文章来源地址https://www.toymoban.com/news/detail-662806.html
到了这里,关于【git】git revert 撤销已入库的提交的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!