git - 测试和 README 更新是否应该包含在具有功能的提交中?
问题描述
我有一个库的 git 存储库,我偶尔会为其添加新功能(或者可能更新现有功能,仍然是相同的步骤)。
每当我这样做时,我需要做三件事:
- 添加实现
- 添加测试
- 更新 README.md
现在我有两个选择:
将它们全部放在一个提交中:
- 提交 1:
Add FEATURE_NAME + tests + update README.md
- 提交 1:
将它们放入三个不同的提交中:
- 提交 1:
Add FEATURE_NAME
- 提交 2:
Add tests for FEATURE_NAME
- 提交 3:
Update README.md for FEATURE_NAME
- 提交 1:
如果我选择第一个选项,那么如果我认为我的功能不好,那么恢复它会更容易,因为我只需要处理一个提交。
如果我选择第二个选项,它将我的工作分成不同的提交,这是有道理的。
哪个选项更好(或者可能有另一种方式),为什么?
解决方案
第一个选项是最常见的选项。
例如“ git 如何改变我的提交行为”
与提交行为有什么
git revert
关系?好吧,我总是想如果我需要撤消某个更改会发生什么,即恢复相应的提交。换句话说,我考虑了我所做的提交的“可恢复性”。
在您的情况下,最好还原所有三个连贯且紧密耦合的更改。