考虑这个场景:
然后发现在他的提交 #n+2 中他引入了一个缺陷。
如何开发。回滚他最后 2 个提交并继续在提交上开发 #n+1?
尝试过
git reset --hard HEAD~2
*,但它又回到了开发者A的提交#n。
应该回到第 n+1 次提交。您可能也有一个合并提交。你也可以做一个
git reset --hard <sha1_of_where_you_want_to_be>
警告!!
表示您当前拥有的任何未提交的更改 将被永久丢弃。--hard
我建议使用这样的东西:
git reset --soft <commit_hash>
除非您希望它删除到目前为止的所有更改,否则使用 --hard 而不是 --soft,它会让您到达树中所需的位置,而不会丢弃提交中所做的所有更改.
当我阅读时,我尝试使用 --HARD ,但不幸的是,它删除了我到目前为止的所有更改。所以,要注意是否要删除它们。
所以,如果你像我一样不幸,试试这个! :
git revert <commit_hash>
建议使用 --soft 来恢复您仍想保留的更改并使用以下命令。
git reset --soft HEAD~2