Git:如何恢复还原

时间:2015-03-24 14:57:34

标签: git

这是我目前的情况。

我错误地合并了包含垃圾的拉取请求。

所以我使用git revert -m 1 <sha of commit>

将其还原

现在我希望撤消该恢复,但这次只选择正确的 更改

请问我该怎么做?

由于

2 个答案:

答案 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>