一个 commit 的自我修养与提高

commit 里的代码只做一件事

每一个 commit 都应该原子化。只做了一点“微小”的工作。不应该出现一个 commit 里做了很多不相关的任务。一个 commit 里改动的文件都和一件事关联,这样未来无论自己看还是别人看都能清楚知道这个功能设计的范围。如果未来发现某个功能实现有问题,可以直接撤销某个 commit,否则就没法完全利用版本控制的能力。
但是没有规定一个 commit 里只能涉及几个文件。如果一个全局变量改了,这次 commit 可能涉及几十个文件也是合理的。

commit 里的代码应该完备

代码一定是已经完成了一件事,而不是只完成了一半的工作。如果功能没有完成可以把代码先存到 stash 里,但是提交的时候还是保证 commit 的完备。
每次编码前都应该把任务想清楚,做好每一步要做什么的准备。这样才不会一次同时在改几个功能,把不相关的代码混在一个 commit 里,又不至于 commit 里的代码一件事都没做好。

top Created with Sketch.