当你在 Git 本地提交后,因权限不足无法推送到服务端,若想撤销本次提交,可以根据不同的需求选择合适的方法,下面为你介绍两种常见方式。
当你在 Git 本地提交后,因权限不足无法推送到服务端,若想撤销本次提交,可以根据不同的需求选择合适的方法,下面为你介绍两种常见方式。
- 仅撤销提交但保留修改内容
如果你希望撤销这次提交,不过还想保留本地的修改内容以便后续调整,可使用 git reset --soft 命令。示例如下:
bash
查看提交历史,找到要撤销提交的前一个提交的哈希值
git log
撤销最近一次提交,保留修改内容
git reset --soft HEAD~1
此时你可以对修改内容进行调整,之后重新提交
git add .
git commit -m “新的提交信息”
2. 彻底撤销提交及修改内容
如果你想完全丢弃这次提交,同时也不要本地的修改内容,可使用 git reset --hard 命令。示例如下:
bash
查看提交历史,找到要撤销提交的前一个提交的哈希值
git log
彻底撤销最近一次提交,丢弃修改内容
git reset --hard HEAD~1
总结如下:
使用 git reset --soft HEAD~1:撤销提交,保留本地修改内容,适合后续还要调整修改的场景。
使用 git reset --hard HEAD~1:彻底撤销提交和修改内容,适合不再需要这些修改的场景。
注意,git reset --hard 操作不可逆,一旦执行就无法恢复丢弃的修改,操作前请确认是否真的不需要这些修改。