如何回滚一个 git 提交
$ git commit -m "一个错误的提交信息" # 0. 如果你不小心提交了错误的代码
$ git reset HEAD~ # 1. 回滚到上一个提交
[ edit files as necessary ] # 2. 重新修改代码
$ git add . # 3. 重新添加修改
$ git commit -c ORIG_HEAD # 4. 重新提交
第1步的操作负责回滚最近一次提交。该操作只会修改提交记录,而不会回滚本地的文件的内容
第4步的操作把修改提交到 ORIG_HEAD。 git reset 操作会把之前的 head 引用复制到 ORIG_HEAD -c 参数会打开一个包含之前提交信息的文本窗口,以供修正提交信息。 如果不需要修改提交信息,可以直接使用 -C 参数。
如果只需要修改最近一次提交的提交信息,直接使用 git commit --amend
操作即可。
如果提交已经提交到了远程仓库,需要使用 git push origin main --force
操作强行覆盖远程仓库的内容。
但是对于多人合作的仓库,force push 一般都会被禁用,已经 push 的错误提交只能以后续的新提交的方式去修正。