你如何与其他开发人员共享你的git仓库?

5
我有一个中央git仓库,所有人都会将代码推送到该仓库进行测试和集成,但只有当功能"准备就绪"时才会进行推送。在完成重要任务的过程中,开发者经常会有许多提交留存在他们的硬盘上。
有时候在这些项目的中途,我想要查看另一个开发者正在做什么,或向他展示我是如何完成某些事情的。我希望能够告诉另一个开发者只需“拉取我的工作副本”。
我唯一能想到的方法是让每个人在其开发机器上运行SSH并添加账户或SSH密钥,但这会造成巨大的隐私和权限问题,并且似乎需要大量维护工作。
在这种情况下,我们应该只是将代码推送到中央仓库吗?我们应该在每次本地提交后进行推送吗?

你正在使用Linux还是Windows? - hasen
大多数当前的开发人员都在使用OS X,因此SSH并不完全不可行。 - semi
2个回答

3

两种常见的方法:

  • 开发人员拥有自己的公共存储库(例如mpd和相关程序)。
  • 开发人员将代码推送到中央存储库上他们自己命名空间下的引用(dev1/master,dev2/master)。根据您的具体情况,您可能需要一些访问控制,例如挂钩来确保没有人做出愚蠢的事情。

3
我们使用分支来存放那些尚未准备好的代码,而这些分支会被推送到一个中央仓库(该仓库有备份!)。当一个新特性准备好之后,它会被合并到master分支中。
使用git的一个好处是非常容易创建和合并分支,同时你可以使用gitk来可视化地了解正在发生的事情。强烈推荐!

我忘记了我是在哪里学到这个的 - 如果你有多个开发人员,请让每个开发人员在一个或多个以他们的缩写为前缀的分支上工作,例如nr/proposed、nr/line-end-fixes,只使用主分支进行集成。然后可以将分支推送到各个存储库,并保持原始源清晰,没有分支名称冲突。 - Stuart Ellis
这与git的特性分支哲学有点契合...只是远程特性分支。我的一个项目采用了这种方法,看起来效果不错。 - RyanWilcox

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接