在日常编程协作中,Git 提交记录的质量往往体现了一个工程师的工程素养。然而,我经常看到一些不标准的提交记录,相当尴尬。
例如:
这可能是由于在提交后进行了更改并随意重用了之前的 git commit 命令。
虽然这在个人存储库中可能是可以接受的,但在协作存储库中有点不专业。
在我看来,这些提交记录是不必要的,代表着坏习惯,是可以完全避免的。
幸运的是,Git 为我们提供了一个优雅的解决方案。如果不需要生成新的提交,使用 git commit --amend 可以避免这个问题。
少用 git merge,多用 git rebase
例如:
Merge branch 'feature-A' of https://github.com/qiniu/reviewbot into feature-B
这表示将代码从远程分支功能 A 合并到功能 B 中。在这里,功能 A 通常是主分支。
此类提交消息在您的 PR 中是不必要的。 PR 提交消息应该只包含有关当前更改的有用信息。
就我个人而言,我很少使用 git merge,即使是同步远程分支,我一般也使用 git rebase。
例如:
除了上述好处之外,git rebase 还有助于在主存储库中维护非常干净的提交历史记录。因此,我强烈推荐使用它。
Reviewbot 的 git 提交检查
Reviewbot是七牛云的开源项目,旨在提供自托管的代码审查服务,方便代码审查/静态分析以及自定义工程标准的实现。
为了更好规范这两种行为,Reviewbot 新增了 git commit check 功能,用于验证 git commit 记录是否符合标准。
如果不符合标准,Reviewbot 会通知您:
更多 git flow 实践和技巧
当然,git操作还有很多实用技巧。我鼓励有兴趣的人去探索它们。我在1024训练营期间给学员们分享过相关内容:
超级实用!从用户角度看Git协作,告别死记硬背
该文档包含感兴趣的读者的视频链接。
最后,作为专业工程师,我们应该在工程实践中始终追求卓越。良好的提交记录不仅体现了个人的专业素质,也是提高团队协作效率的重要基石。
通过正确使用 git rebase 和 git commit --amend,我们可以维护更清晰、更专业的代码提交历史记录。这不仅让代码审查变得更加容易,也为后续的代码维护和问题跟踪带来了极大的便利。
你觉得怎么样?
以上是有些 git commit 历史真的很尴尬,我建议所有工程师经常使用 git rebase 和 git commit --amend的详细内容。更多信息请关注PHP中文网其他相关文章!

本文演示了创建模拟和存根进行单元测试。 它强调使用接口,提供模拟实现的示例,并讨论最佳实践,例如保持模拟集中并使用断言库。 文章

本文探讨了GO的仿制药自定义类型约束。 它详细介绍了界面如何定义通用功能的最低类型要求,从而改善了类型的安全性和代码可重复使用性。 本文还讨论了局限性和最佳实践

本文讨论了GO的反思软件包,用于运行时操作代码,对序列化,通用编程等有益。它警告性能成本,例如较慢的执行和更高的内存使用,建议明智的使用和最佳

本文使用跟踪工具探讨了GO应用程序执行流。 它讨论了手册和自动仪器技术,比较诸如Jaeger,Zipkin和Opentelemetry之类的工具,并突出显示有效的数据可视化

本文讨论了GO中使用表驱动的测试,该方法使用测试用例表来测试具有多个输入和结果的功能。它突出了诸如提高的可读性,降低重复,可伸缩性,一致性和A

本文讨论了通过go.mod,涵盖规范,更新和冲突解决方案管理GO模块依赖关系。它强调了最佳实践,例如语义版本控制和定期更新。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3汉化版
中文版,非常好用

WebStorm Mac版
好用的JavaScript开发工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

SublimeText3 Linux新版
SublimeText3 Linux最新版

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。