git reset——撤销一次commit提交
撤销最近的一次提交,保留更改
- 使用
git reset --soft HEAD~1
命令
这个命令将当前分支的HEAD指针回退到前一次提交(HEAD~1
),但保留工作目录中的更改。
撤销最近的一次提交,不保留更改
- 使用
git reset --hard HEAD~1
命令
这个命令将撤销最近的一次提交,并且不保留任何更改。工作目录和索引(暂存区)都会回退到上一次提交的状态。
撤销已经推送到远程仓库的提交
- 撤销提交并重新推送: 如果你已经将提交推送到远程仓库,你需要先撤销本地的提交,然后使用
git push
命令强制更新远程仓库。
git reset --hard HEAD~1
git push origin <branch_name> --force
警告: 强制推送(--force
)会重写远程仓库的历史,这可能会对其他协作者造成问题。在使用前确保这是你想要的操作,并通知团队成员。
- 修改最近的一次提交信息
- 使用
git commit
命令:git commit --amend -m "New commit message"
- 如果你只是想修改最近一次提交的提交信息,可以使用
--amend
选项。如果已经推送到远程仓库,同样需要强制推送。