问题描述
我需要还原以下两个提交:
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。
解决方法
是的,只需按相反的时间顺序还原它们
git revert 4736674
git revert d7f6712
如果您需要/想要将两个还原都作为一个还原提交,只需将-n
添加到您的第一个还原中,它将阻止该提交,并且您将使用第二个命令还原所有内容。
根据git revert
的定义,无需用力推动,因为这不会破坏历史记录。
如果要保留历史记录,请遵循以下命令,
git revert 4736674
和
git revert d7f6712
然后进行更改。
如果您不想保留历史记录,则按如下所示进行2次提交
git reset --hard HEAD~2
然后执行新更改并执行
git push -f origin master