假设我要在项目中添加一个新的独立功能“foo”。在编辑源文件、为功能 foo 添加新测试并更新文档后,我将通过一条消息提交所有这些:
add foo #1234
其中 #1234 是我们的 bugtracker 中的跟踪号。
问题是:
对源文件、测试和文档进行 3 次单独的提交是否更好,每个都标有 #1234?
假设我要在项目中添加一个新的独立功能“foo”。在编辑源文件、为功能 foo 添加新测试并更新文档后,我将通过一条消息提交所有这些:
add foo #1234
其中 #1234 是我们的 bugtracker 中的跟踪号。
问题是:
对源文件、测试和文档进行 3 次单独的提交是否更好,每个都标有 #1234?
答案可能会有所不同,具体取决于所使用的 VCS。
对于 SVN,我会说一个特性或错误修复应该总是在主干上有 1 次提交。如果更改的大小不是微不足道的,则应在进行多个提交的地方创建一个分支,然后将 1 次提交到主干,您可以合并来自该分支的所有更改。
使用这种方法,您:
如果您的测试有效(如编译但返回未通过),请先提交它们,然后将其余部分一起提交。
否则将所有内容放在一起,因为没有其他两个就没有任何意义。