在1个或多个提交中添加功能

时间:2013-06-15 13:07:44

标签: version-control commit

假设我在项目中添加了一个新的隔离功能'foo'。编辑源文件后,为功能foo&添加新测试。更新文档,我正在用一条消息提交所有这些:

add foo #1234

其中#1234是我们的bugtracker中的跟踪号。

问题是:

对源文件,测试和放大器进行3次单独提交是否更好? docs,每个都标有#1234?

2 个答案:

答案 0 :(得分:1)

如果您的测试有效(如编译但返回非传递),请先提交它们,然后再将其余部分一起提交。

否则将所有内容整合在一起,因为没有其他两个就没有任何意义。

答案 1 :(得分:1)

答案可能会有所不同,具体取决于使用的VCS。

对于SVN,我会说功能或错误修复应始终在trunk上进行1次提交。如果更改的大小不是很简单,则应创建一个分支,其中进行多次提交,然后使用1 commit to trunk,合并来自该分支的所有更改。

用这种方法你:

  1. 不要使用功能实现的详细信息污染主干的日志。
  2. 保留探索与该功能或错误修复相关的所有提交的可能性。