当前位置:  开发笔记 > 运维 > 正文

git提交频率

如何解决《git提交频率》经验,为你挑选了5个好方法。

自从我从svn切换到git后,我每次重新编译时都开始做更多的提交,我的测试通过了我的工作.最后我最终按功能提交功能.

我还使用像emacs,wordpress等git跟踪一些其他项目.我看到他们不经常提交.所以我想知道你怎么承诺?



1> 小智..:

Git项目本身(以及Linux项目,AFAIK)的指南是每个"逻辑上独立的变更集"的一个提交.

这有点模棱两可,但如果你经常在一个项目上工作,你可能不想每隔几天就做一次,并且你可能不希望在每次更改函数后都提交 - 如果你已经编辑了几个函数几个不同的文件,如果可以的话,您希望将所有相关功能提交到一起,并提供有用的提交消息.每次提交中修改的所有代码都应该是相关的,但它可以(并且可能应该)跨越多个文件.

您可能需要记住的是代码审查.如果有人试图决定他们是否应该合并你的工作,那么如果每个提交都在逻辑上包含并相互分离,那么他们就更容易处理所引入的工作.这可让您(或他人)樱桃挑选工作有效 - 如果你有三个提交与每个修改一个功能,但他们都加上不知何故 - 那么他们也许应该 - 你不能没有其他两个不破坏代码库应用一个被压扁到一个提交.


您希望每个comitted版本都能正常工作(这有助于找到错误的二分法).
如果您拥有该项目,请随时提交.如果您正在编辑其他人的项目,请在修补程序完成时提交

2> kwatford..:

我还使用像emacs,wordpress等git跟踪一些其他项目.我看到他们不经常提交.

关于git的一个好处是你可以随心所欲地提交,然后当你想要进行上游提交时,你可以将几个相关的提交压缩成一个很好的干净提交git-rebase.


应该注意的是,如果你不小心的话,git rebase虽然很棒,但却是一个非常危险的工具.
@baudtack:完全没有.Rebase不受惩罚,如果你完全拙劣,只需使用`git reflog`和`git reset`回到你原来的位置!
`git rebase`根本不危险.如果在执行rebase之前需要一个简单的安全网,请使用`git branch branchname.bck`创建当前HEAD的备份分支.如果你对rebase不满意,请使用`git reset --hard branchname.bck`返回上一个状态.如果你想要返回到重新定位的版本,重新提交的提交仍然存在,但由于它们被存储为未引用的对象,你需要`git reflog`或`git fsck --no-reflogs`来找到正确的sha1值.

3> VonC..:

最后我最终按功能提交功能

不要忘记你可以git add通过函数" "功能,只进行一次提交:

一旦为给定任务编写或修复了所有函数

或者一旦你意识到当前函数太大/太复杂而不能很快成为提交的一部分:你可以提交当前"在舞台上"("git added"),这将不包括你当前在工作中的修改目录.

然后,提交的数量可以与分支的目的相关:

本地分支:疯狂,随时随地提交

"公共"分支(你将推动的一个):

对于本地存储库(对于选定的一组人):您可以重新组合至少非常小的"中间"提交

对于公共存储库(对于所有开发人员或其他要查看的项目):您可以创建交互式rebase,以便通过"activity"或"task"重新组合您的提交,以使这些更具可读性.

简而言之," 发布注意事项"可以在D VCS(如"分布式")中指导您以正确的理由进行正确的提交.



4> baudtack..:

您提交的越多,使用git bisect查找错误就越容易


只要提交所有编译和现有测试通过.
@MariusK是的,我有点假设你没有将完全破坏的代码提交给规范分支.

5> Alan Haggai ..:

测试通过后,或添加/删除/修改功能单元时.

推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有