【发布时间】:2011-09-26 11:59:24
【问题描述】:
我正在使用 git 来管理一个 C++ 项目。当我处理项目时,我发现在更改与许多地方相关的内容时很难将更改组织到提交中。
例如,我可能会更改.h 文件中的类接口,这将影响相应的.cpp 文件,以及使用它的其他文件。我不确定将所有内容放在一个大提交中是否合理。
直观地说,我认为提交应该是模块化的,每个提交都对应一个功能更新/更改,以便协作者可以相应地选择内容。但似乎有时不可避免地要包含大量文件和更改以使功能更改真正起作用。
搜索没有给我任何好的建议或提示。因此,我想知道是否有人可以在提交时给我一些最佳实践。
PS。我使用 git 已经有一段时间了,我知道如何交互式地添加/rebase/split/amend/...我要问的是哲学部分。
更新:感谢所有建议。也许这应该从实践中学习。我会将问题保持开放一段时间,看看是否有更多建议。
【问题讨论】:
-
“我认为提交应该是模块化的” -> 为此使用标签。标签不一定是版本号。根据需要经常提交,同时不要破坏构建。
-
@subtenante:为此使用标签可能不是最好的主意。您将完全忘记重要的标签
-
@knittl:不明白为什么。对“重要”标签使用命名约定,并在列出它们时使用模式。
-
@subtenante: 不幸的是 git 在标签太多的情况下不能很好地扩展
-
@knittl:好的,不知道。
标签: git