mat*_*thk 22 git version-control
在git中,我说我提交A和B.
A---[B]
Run Code Online (Sandbox Code Playgroud)
但后来我回复了
git revert HEAD
Run Code Online (Sandbox Code Playgroud)
所以我现在在那里:
[A]---B
Run Code Online (Sandbox Code Playgroud)
如何取消恢复以便我可以返回B?
Gre*_*ill 57
您有两个一般选择:
git reset --hard HEAD ^
第二个选项仅适用于您未在其他任何位置推送更改的情况.事实上,如果你还没有在任何地方推送你的第一个恢复提交,你可以简单地使用
git reset --hard
回滚而不创建任何恢复提交.
Wes*_*Gun 12
如果您还没有完全完成,即,gitbash您会看到以下内容:
Username@Host MINGW64 /d/code/your-project (feature|REVERTING)
Run Code Online (Sandbox Code Playgroud)
然后你可以使用git revert --abort中止。
如果你已经完成了......只是不要重置,更改仍然存在。使用git reset改变的状态。代替--hard,您还可以使用--soft(保留所有更改)。
git reset --soft HEAD^ // discard the last commit, keeping all the changes after that
Run Code Online (Sandbox Code Playgroud)
此外,如果您想还原 1 个以上的提交:
git reset --soft HEAD~3 // discart last 3 commits. Don't know if it works for commits of others.
Run Code Online (Sandbox Code Playgroud)