这是我目前的情况。
我错误地合并了包含垃圾的拉取请求。
所以我使用git revert -m 1 <sha of commit>
现在我希望撤消该恢复,但这次只选择正确的 更改。
请问我该怎么做?
由于
答案 0 :(得分:1)
您可以使用git reset
删除错误提交(包括还原)。
假设您的历史记录如下:
good -> good -> good -> rubbish -> revertRubbish
你可以做到
git reset HEAD~2
使您的版本历史记录如下:
good -> good -> good
如果它比这更复杂,请说
good1 -> good2 -> rubbish -> good3 -> good4 -> revertGood4 -> revertGood3 -> revertRubbish
您可能需要执行以下操作:
git reset HEAD~6 //Deletes last 6 commits
git cherry-pick good3
git cherry-pick good4
带有
的历史记录good1 -> good2 -> good3* -> good4*
星号表示代码更改将相同,只是使用与原始提交不同的哈希值。
答案 1 :(得分:0)
在git中恢复也是一个提交。因此,您可以像往常一样简单地恢复恢复:
git revert <revert_you_want_to_undo_sha1>