自从我从svn切换到git后,我每次重新编译时都开始做更多的提交,我的测试通过了我的工作.最后我最终按功能提交功能.
我还使用像emacs,wordpress等git跟踪一些其他项目.我看到他们不经常提交.所以我想知道你怎么承诺?
Git项目本身(以及Linux项目,AFAIK)的指南是每个"逻辑上独立的变更集"的一个提交.
这有点模棱两可,但如果你经常在一个项目上工作,你可能不想每隔几天就做一次,并且你可能不希望在每次更改函数后都提交 - 如果你已经编辑了几个函数几个不同的文件,如果可以的话,您希望将所有相关功能提交到一起,并提供有用的提交消息.每次提交中修改的所有代码都应该是相关的,但它可以(并且可能应该)跨越多个文件.
您可能需要记住的是代码审查.如果有人试图决定他们是否应该合并你的工作,那么如果每个提交都在逻辑上包含并相互分离,那么他们就更容易处理所引入的工作.这可让您(或他人)樱桃挑选工作有效 - 如果你有三个提交与每个修改一个功能,但他们都加上不知何故 - 那么他们也许应该 - 你不能没有其他两个不破坏代码库应用一个被压扁到一个提交.
我还使用像emacs,wordpress等git跟踪一些其他项目.我看到他们不经常提交.
关于git的一个好处是你可以随心所欲地提交,然后当你想要进行上游提交时,你可以将几个相关的提交压缩成一个很好的干净提交git-rebase
.
最后我最终按功能提交功能
不要忘记你可以git add
通过函数" "功能,只进行一次提交:
一旦为给定任务编写或修复了所有函数
或者一旦你意识到当前函数太大/太复杂而不能很快成为提交的一部分:你可以提交当前"在舞台上"("git added"),这将不包括你当前在工作中的修改目录.
然后,提交的数量可以与分支的目的相关:
本地分支:疯狂,随时随地提交
"公共"分支(你将推动的一个):
对于本地存储库(对于选定的一组人):您可以重新组合至少非常小的"中间"提交
对于公共存储库(对于所有开发人员或其他要查看的项目):您可以创建交互式rebase,以便通过"activity"或"task"重新组合您的提交,以使这些更具可读性.
简而言之," 发布注意事项"可以在D VCS(如"分布式")中指导您以正确的理由进行正确的提交.
您提交的越多,使用git bisect查找错误就越容易
测试通过后,或添加/删除/修改功能单元时.