在 Git 中,如果你想撤销上一次提交但保留修改内容(以便重新提交),可以使用以下命令:
1. 撤销上一次提交,保留修改到暂存区
git reset --soft HEAD~1
--soft
会保留你的所有代码改动,并将这些改动放回暂存区(就像执行了git add
一样)。HEAD~1
表示回退到上一个提交。
2. 撤销上一次提交,保留修改到工作目录
git reset HEAD~1
# 或等价写法:
git reset --mixed HEAD~1
--mixed
(默认选项)会保留改动,但将更改从暂存区移回工作目录(需重新git add
)。
补充说明:
如果想彻底丢弃上一次提交的修改(慎用!):
git reset --hard HEAD~1
这会直接丢弃所有改动,无法恢复!
如果已经推送到远程仓库: 强制推送(需谨慎,避免影响协作):
git push origin <branch-name> --force
⚠️注意事项:
- 如果提交包含敏感信息或已共享给他人,建议用
git revert
(生成反向提交)而非强制推送。 - 本地未提交的修改不会被这些操作删除。
内容由零声教学AI助手提供,问题来源于学员提问