你的提交通过了这个简单的测试吗?

2025-05-25

你的提交通过了这个简单的测试吗?

照片由 William Iven 在 Unsplash 上拍摄

频繁。
描述性。
原子性。
去中心化。
不可变。

我将让你发挥想象力,想出一个巧妙的助记符来记住上面的首字母缩略词。

我喜欢写关于 Git 和 SCM 的文章,因为我相信它对于正确的 CI/CD 实践至关重要。它决定了我们提交代码的方式。它应该很重要。

我总结了一个衡量提交成功与否及其价值的可靠指标。它包含了我上面提到的 5 个关键点。

频繁

你上次提交是什么时候?2秒前还是2小时前?等的时间越长,你的提交就越难展现出真实的内容。你上次提交之前等了多久?

描述性

咔哒。这通常是相机拍照时发出的声音。Git 捕获你的更改差异并在上面添加标签时也是同样的道理。我发现 Git 提交信息通常比代码注释更有用。你能详细而简洁地描述你的更改吗?

原子

你是那种把所有东西都扔进洗衣桶的人吗?还是洗衣服前会把衣服分类整理?我们可以用某种方式把洗衣服和提交信息联系起来。你的提交应该只包含相关的更改。每个提交都应该易于恢复。保持你的提交简短且相关,这样你就永远不会撤销几个小时的工作。你是否保持这个提交简短,并且只包含相关的更改,而不是所有更改?

去中心化

这个非常简单。Git 不会自动将您的提交上传到“云端”。在您将提交推送到单独的代码库之前,所有内容都保存在本地。我们大多数人都使用 GitHub 或类似的平台。您推送过这个提交吗?

不可变

提交是一种承诺。一旦完成,请尽量避免更改。这意味着时间戳、作者,甚至内容在保存后都不应更改。你的提交是“永久提交”吗?

文章来源:https://dev.to/offendingcommit/do-your-commits-pass-this-simple-test-4ak2
PREV
React 18 - 新功能和改进策略
NEXT
清理常规提交