测试和自述更新是否应包含在功能提交中?

时间:2018-07-28 22:30:16

标签: git

我有一个用于库的git存储库,我偶尔会为其添加新功能(或更新现有功能,仍然是相同的步骤)。

每当我这样做时,我需要做三件事:

  • 添加实施
  • 添加测试
  • 更新README.md

现在我有两个选择:

  1. 将它们全部提交一次:

    • 提交1:Add FEATURE_NAME + tests + update README.md
  2. 将它们放入三个不同的提交中:

    • 提交1:Add FEATURE_NAME
    • 提交2:Add tests for FEATURE_NAME
    • 提交3:Update README.md for FEATURE_NAME

如果我选择第一个选项,那么如果我确定我的功能不好,则还原它会更容易,因为我只需要处理一个提交。

如果我选择第二个选项,它将把我的工作分成不同的提交,这很有意义。

哪个选项更好(或者可能还有另一种方式)?为什么?

1 个答案:

答案 0 :(得分:3)

第一个选项是那里最常见的选项。
例如“ How git changed my commit behavior

  

git revert与落实行为有什么关系?好吧,我一直在思考如果我需要撤消某些更改(即还原相应的提交)会发生什么。换句话说,我认为我所做的提交具有“可恢复性”。

对于您而言,最好还原所有三个连贯且紧密耦合的更改。

这与"coherent state of the code" I was advocating for 7 years ago一致。