使用 git revert 恢复两个提交 [重复]
Posted
技术标签:
【中文标题】使用 git revert 恢复两个提交 [重复]【英文标题】:Use of git revert for reverting two commits [duplicate] 【发布时间】:2021-01-22 07:08:47 【问题描述】:我需要恢复以下两个提交:
user@007:~/git/project_demo$ git log --oneline
4736674 FIXED:Included src2.cpp file in code coverage.
d7f6712 TASK:Introduced code coverage for selected project test cases.
60542ef TASK: Implemented first version here.
如何使用这个git revert
命令?
我应该使用 git revert 两次还是使用 git revert 一次并传递绝对提交 SHA1 值。
我想来到60542ef
提交并在此提交之上进行新的更改。
这里我只需要使用 git revert 而不是 git reset。
【问题讨论】:
我认为this answer 可以帮助你。 【参考方案1】:是的,只需按时间倒序恢复它们
git revert 4736674
git revert d7f6712
如果您需要/想要将两个还原作为一个还原提交提交,只需将-n
添加到您的第一个还原,它将阻止提交,您将使用第二个命令还原所有内容。
根据git revert
的定义,无需用力推动,因为这不会打破历史记录。
【讨论】:
【参考方案2】:如果您想保留历史记录,请按照以下命令,
git revert 4736674
和
git revert d7f6712
然后进行更改。
如果您不想保留历史记录,请按以下方式进行 2 次提交
git reset --hard HEAD~2
然后执行您的新更改并执行
git push -f origin master
【讨论】:
以上是关于使用 git revert 恢复两个提交 [重复]的主要内容,如果未能解决你的问题,请参考以下文章