你怎么避免人们忘记运行'git push'?

时间:2009-10-16 15:09:24

标签: git

在评估将基于Subversion的存储库迁移到Git的优缺点时,出现了一个有趣的问题。

尽管我们都非常喜欢Git,但有些开发人员(或开发人员团队)可能会忘记将功能/错误修正推送到构建软件包的存储库中。

我确信已经在其他软件开发团队中引起了这种担忧,我想知道你是如何解决这个问题的。

4 个答案:

答案 0 :(得分:6)

与处理在本地svn工作副本中工作一周但没有提交的人的方式相同。

这是完全相同的问题。

答案 1 :(得分:5)

我同意理想情况下你可以通过尝试提供大量提醒来解决这个问题。一些杂项的想法:

  • 任何强化分布式版本控制理念的东西都会让人们更自然地想到这一点。例如,我赞成一个工作流,包括使用本地主题分支和修改/重新定位提交,直到它们正是我想要的。如果您教授如何做到这一点,很明显这些都是在您自己的领域完成的。随着开发人员越来越意识到他们的回购与中央回购不同,记住推送会变得更容易。

  • 如果您在主分支(或跟踪原点分支的任何其他分支)上,git-status将为您提供“您的分支超过'origin / master'的提醒”承诺。”当你检查主人时,你也会看到这一点。

  • 如果你真的想要的话,你可以写一个提交后挂钩,它只是告诉用户他们与原点有多远。有很多方法可以解决这个问题,具体取决于您的工作流程 - 可能只是复制了该状态消息,也许找到当前分支上最旧的提交,而不是原产地,这样您就可以让他们知道它已经存在了多长时间......请注意,包含存储库的钩子并不简单:.git / hooks不会被跟踪,因此您必须将目录或其中的钩子符号链接到repo中。但是,这可以通过设置脚本自动完成,所以它不是太糟糕!

答案 2 :(得分:3)

让一个人(项目负责人)负责从其他开发人员那里撤资。

答案 3 :(得分:2)

虽然有技术解决方案,但这确实是一个社会问题。我首先要与开发人员交谈并向他们解释他们实际上是与项目的其他部分隔离开来的。这种隔离对项目是一种风险。记住,这可能不是故意的无知。他们只是忘记了提交不再进入中央svn服务器了。