2012-03-08 22 views
1

我目前的git使用情况可以被描述为“提前和经常提交”。我当然试图让每个提交一个逻辑单元(如good commit criteria中所述)。但是,我经常迭代设计并希望保存每个阶段。如果我想出了一些丑陋但实用的东西,我想在清理之前提交该检查点。将丑陋代码提交到git存储库的约定是什么?

你在这件事上的经验是什么 - 它是否给你的团队带来了问题?超越丑陋的代码 - 只要您不修复错误,只要不推动就可以在本地提交破损的代码。

+0

如果这是程序员,也许? – 2012-03-08 05:26:05

回答

6

造成这种情况的最常见的约定是使用特性分支(或一组分支),它们可能位于您的存储库中 - 也可能是GitHub或Gitorious等在线的地方。

您可以重新合并和重写该功能分支,合理有罪不罚,直到您终于准备好以任何特定于项目的方式提交上游为止。这使您可以构建并共享正在运行的代码,而不会造成太多头痛。一路走来,建立一系列提交,然后使用交互式rebase(或其他重写工具)将这些提交转换为另一组干净的逻辑提交,这是一种很好的方式,可以从检查点及时移动到功能检查点 - 如果您经常提交并且投入极小的部分,则效果最佳。

0

是否对您的团队造成了问题?

不适合我/我的团队。只要你没有破码,它不会影响你的队友 - 至少,直到你去寻找过去的提交。

只要在问题得到解决之前不推动就可以在本地提交破损的代码吗?

我这么认为,但我也认为你会发现这个问题的答案是非常主观的。

如果你真的关心这可能包含中间折断提交推提交,Squash my last X commits together using Git

您可以在git commit frequency找到更多建议/意见,其中一些比我自己更硬,但并非一无是处:

  • Git项目本身的指导原则是每个“逻辑上独立的变更集”的提交。
    Scott Chacon
  • 你也想为每个comitted版本(与平分寻找错误此帮助)正常工作(Jakub Narębski
  • 如果你自己的项目,承诺只要你喜欢它的感觉。如果您正在编辑别人的项目,承诺当贴剂完成 (Tyler Gillies

这样的例子不胜枚举...

相关问题