Git取消恢复

时间:2010-07-07 22:21:59

标签: git version-control

在git中,我说我提交A和B

A---[B]

然后我回复

git revert HEAD

所以我现在在那里:

[A]---B

如何取消恢复以便我可以返回B?

3 个答案:

答案 0 :(得分:50)

您有两种常规选择:

  • 还原还原提交(创建第二个还原提交,将您带回到原始提交)
  • 使用
  • 丢弃恢复提交
  

git reset --hard HEAD ^

第二个选项仅适用于在其他任何地方推送您的更改的情况。事实上,如果你还没有在任何地方推送你的第一个恢复提交,你可以简单地使用

  

git reset --hard

回滚而不创建任何恢复提交。

答案 1 :(得分:1)

如果您尚未完全完成操作,即在gitbash中看到以下内容:

Username@Host MINGW64 /d/code/your-project (feature|REVERTING)

然后您可以使用git revert --abort放弃。

如果您已完成操作..只是不重置,更改仍然存在。使用git reset更改状态。除了--hard,您还可以使用--soft(保留所有更改)。

git reset --soft HEAD^ // discard the last commit, keeping all the changes after that

答案 2 :(得分:0)

创建新的commit reverts another commit时,您可以像提交一样威胁它。

所以基本上您有很多选择,例如

  
      
  • git rebase -i(删除还原提交)
  •   
  • git reset --hard <commitID>(在还原之前重置为提交,您将丢失所有本地更改
  •   
  • git reset --soft <commitID>(与上面相同,但保留本地更改)
  •   
  • 从技术上讲,您可以使用git revert <commitId>还原您的还原
  •