如何恢复在Git上完成的最后2次提交

时间:2017-07-12 02:19:28

标签: git git-revert

我有一种情况,其中有两个提交由另一个协作者完成,这似乎是错误的文件。我是存储库的所有者,并希望还原其他协作者完成的那两个提交。从我的终端,我尝试了以下。

git log -2它只是说我做的最后两次提交。我想知道如何重置最后2次提交并将HEAD更改为2之前的提交。

3 个答案:

答案 0 :(得分:2)

试试这个,但要确定你想做什么

git reset --hard HEAD~2

git reset --hard是不可逆转的变化。也许是了解git reset --hard/--soft/ --mixed

的好时机

enter image description here

我还建议您浏览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选项。