如何在 Git 中撤消提交?
基本上,您在本地存储库中进行了最后一次提交,并且没有推回公共存储库,或者只是您想更改,基本上,您不想执行该提交,因此您想撤消提交,但一般来说,会出现需要撤消提交的两种情况,有时可能如下:
- 从本地存储库撤消提交
- 从公共存储库撤消提交
案例 1:撤消本地存储库中的提交
1.1首先检查你的所有提交
#git log
输出:提交只是示例或示例提交
commit 2: second commit
commit 1: First commit
得出的看法如下:
- commit 2 是你要撤消的提交,当前的 head 在这里
- commit1 是撤消后要进行的第一个提交
1.2要恢复所有内容或撤消所有更改,我们必须重置提交。
#git reset --soft HEAD^
#git reset --hard HEAD^
Note:
- soft is used if you want to keep your changes
- hard is used if you don’t want to keep your changes
1.3 检查您的提交是否已重置
#git log
输出:
commit 1: First commit
//undo the second commit, now head is at first or previous commit
可以清楚地看到最后一次提交(即第二次提交)被删除了。
案例 2:从公共存储库撤消提交
现在,如果我们已经公开了您的提交,那么您将必须创建一个新的提交,它将“恢复”您在之前的提交(当前的 HEAD)中所做的更改,然后遵循某些命令:
- 还原更改
- 检查所有提交以查看提交列表
2.1还原您的更改
#git revert HEAD
我们现在已为您的新提交做好准备,以便使用以下命令恢复我们意外删除的文件,如下所示:
#git commit -m
2.2现在检查所有提交以查看提交列表
#git log
输出:
commit 3: restoring the file that we accidentally remove
commit 2: removing a file we don't need
commit 1: Needed file
现在我们可以恢复你的最后一次提交。
另请注意,我们使用下面指定的命令来撤消 git 中的最后一次提交,其中 head 是指向我们分支中最后一次提交的指针
git reset HEAD~