Reference Git reference

git revert 参考

git revert 会创建一个新提交,用来反向撤销指定提交带来的改动。它不改写已有历史,适合处理已经推送到远程的提交。

语法

bash
git revert <commit>

示例

撤销最近一次提交:

bash
git revert HEAD

撤销指定提交:

bash
git revert abc1234

只生成改动,不自动提交:

bash
git revert --no-commit abc1234

reset 和 revert 怎么选

场景 推荐
本地提交未推送 git reset
提交已经推送到共享分支 git revert
要保留完整历史 git revert
要整理本地历史 git reset 或 git rebase -i

常见错误

  • revert 后以为原提交消失了;实际上历史中会保留原提交和新的反向提交。
  • revert merge commit 时没有理解主线父提交,可能需要 -m 参数。
  • 连续 revert 多个提交时不看冲突,容易产生半完成状态。

相关内容