我有一种情况,其中有两个提交由另一个协作者完成,这似乎是错误的文件。我是存储库的所有者,并希望还原其他协作者完成的那两个提交。从我的终端,我尝试了以下。
git log -2
它只是说我做的最后两次提交。我想知道如何重置最后2次提交并将HEAD更改为2之前的提交。
答案 0 :(得分:2)
试试这个,但要确定你想做什么
git reset --hard HEAD~2
git reset --hard
是不可逆转的变化。也许是了解git reset --hard/--soft/ --mixed
我还建议您浏览this
答案 1 :(得分:1)
使用git revert
:
git revert A^..B
其中A
是要还原的两个提交中的第一个的哈希值,B
是第二个提交的哈希值。即使已经在远程分支上进行了其他提交,这种方法也可以工作。
如果此分支未与任何人共享,您也可以使用
git reset --hard HEAD~2
但要注意在公共共享分支上使用git reset --hard
。对于共享分支,如上所述使用git revert
更安全。
答案 2 :(得分:0)
只需将其重置为2次提交之前的提交哈希:
git reset <commit-hash>
这将删除commit-hash
之后的提交并将更改带到您的工作区。如果您不想进行更改,可以传递--hard
选项。