首页/开发/Git 与协作速查/revert 提交的写法
协作与代码评审75 条

revert 提交的写法

回退提交约定用 revert: 前缀,标题引用被回退的提交标题;git revert 默认生成 Revert '...' 信息,可按团队规范调整。

Git 与协作速查开发更新于 2026-10-13

回退提交怎么写

回退提交也应遵守提交信息规范:约定用 revert: 前缀,标题引用被回退提交的标题,正文写明回退原因与影响范围,并附上被回退提交的哈希。自动生成的 Revert '...' 信息可以直接用,但按团队规范改写之后,历史更容易被检索和理解。

基本信息

约定前缀revert: <被回退提交的标题>
正文内容说明回退原因与影响范围
引用对象正文中附被回退提交的哈希
工具行为自动生成的信息可直接使用,也可改写

典型使用场景

  • 回退线上出问题的改动,并在信息里说清原因
  • 规范化的回退记录便于按前缀检索全部回退动作
  • 公开发布的回退提交中给出被回退对象,方便依赖方判断影响
  • 回退之后又重新修复提交时,在信息里注明两者关联
  • 按提交类型统计时,把回退动作单独归类

常用示例

常用示例
git revert --no-edit <哈希>        # 使用自动生成的提交信息
git log -1 --format=%B              # 查看完整提交信息
git revert --no-commit <哈希>       # 只落改动,便于人工整理信息
git commit -m 'revert: 回退登录改版(引发重定向循环)'  # 按规范改写信息
git log --oneline --grep='^revert:'  # 检索全部回退类提交

信息要素

要素内容作用
前缀revert:便于按类型检索与统计
标题被回退提交的标题一眼看出回退了什么
正文回退原因与影响范围判断是否需要重新实现
引用被回退提交的哈希精确指向被回退的对象
回退同样要写清楚原因,方便后人判断是被回退的改动本身有问题,还是需要调整设计后重新提交。
多个提交连续回退时逐个回退并写明原因更清晰;压成一次大回退会丢掉提交之间的对应关系。
回退之后紧接着会有人问「还改不改」:在信息里写清是暂时规避还是彻底放弃,能省下一轮沟通,也便于日后决定是否重新实现。

易错点

  • 多提交连续回退时压成一次大回退,对应关系丢失,后续排查难以定位
  • 回退信息只写回退了某个提交而不写原因,后人无法判断是否需要重新实现
  • 回退后再修复重提时未带上原提交的评审结论,容易重复踩同一个坑
  • 回退提交里缺少被回退对象的引用,日后只能靠人工比对才知道撤销了什么

数据来源与参考

  • Angular 贡献者指南:提交信息规范(revert 类型)
  • Git 官方文档:git-revert
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌