2010-03-13 91 views
5

我有一个中央git存储库,每个人都试图进行测试和集成,但只有当功能“准备就绪”时才会推送它。在开展一项重大任务时,开发人员经常会在硬盘上留下许多提交内容。你如何与其他开发者共享你的git仓库?

有时候在这些项目的中间,我想看看另一个开发人员在做什么,或者告诉他我是如何做的。我希望能够告诉其他开发人员“拉我的工作副本”。

我能想到的唯一方法是让每个人在他们的开发机器上运行SSH并为每个人添加帐户或SSH密钥,但这是一个巨大的隐私和权限噩梦,似乎需要大量工作来维护。

在这些情况下,我们应该推动到中央存储库吗?我们是否应该在每一次本地提交之后推动?

+0

你使用的是linux还是windows? – hasen 2010-03-13 01:26:56

+0

大多数当前的开发人员都在OS X上,所以ssh完全没有出现问题。 – semi 2010-03-13 01:39:26

回答

3

两种常见的方法:

  • 开发商有自己的公共回购(例如mpd和相关程序)。
  • 开发人员在中央回购站(dev1/master,dev2/master)上的自己名称空间中推送参考。根据您的具体情况,您可能需要以钩子的形式进行一些访问控制,以确保没有人做任何愚蠢的事情。
3

我们使用分支代码,是不是“准备就绪”着呢,树枝被推到中央回购协议(这是备份!)。当新功能变为“就绪”时,它将被合并到master分支中。

使用git的好处之一是创建和合并分支非常非常容易,另外您可以使用gitk可视化发生的情况。推荐的!

+0

我忘了我在哪里学到了这一点 - 如果您有多个开发人员,每位开发人员都会在一个或多个以首字母为前缀的分支上工作,例如nr/proposed,nr/line-end-fixes,并仅使用master分支进行集成。然后可以将分支推送到存储库,并且原始源保持清晰,并且不存在分支名称冲突。 – 2010-03-13 13:11:06

+0

这与功能分支的git哲学相适应......它只是远程支持功能分支。我的一个项目使用这种方法,它似乎运作良好。 – RyanWilcox 2010-03-13 21:52:12

相关问题