多个用户和github或springloops上的单个存储库

时间:2011-02-15 18:21:37

标签: git github springloops

有没有人知道允许多个用户在github或springloops上完全相同的存储库工作的方法?我们尝试这种方式的方式是与所有使用的4台机器共享相同的密钥/对,但它不起作用。一个帐户工作正常,但我们不确定如何真正协调整个推/拉/合并方面。我们想要避免的是有多个分支在继续。

springloops的吸引力在于,每当有人进行更改时,该更改将自动FTP到dev服务器。然后只有一个人负责将开发人员转移到生产中。

4 个答案:

答案 0 :(得分:12)

Git旨在与每个开发人员的存储库一起使用。为每个人创建一个帐户,然后指定一个人作为主分支的维护者。其他人都会分配主人,他们可以自己做任何他们想做的事情。完成某些操作后,他们会向您发送拉取请求,您可以将更改提取到主分支中。然后其他人都可以随意地从主人那里拉出来(每天一次,每天两次等) 管理多个分支可能听起来很困难,但只要您有效沟通,它就不应成为问题。一旦开发人员完成一项功能,重要的是他们会向您发送拉取请求,而且他们不会只是坐在提交上而没有人知道它们。

开发人员在发送合并请求之前可能遵循的一个可行的好策略是让他们从master获取并确保没有冲突。

如果您确实想使用一个帐户,则不必共享相同的密钥。 Github允许您根据需要上传任意数量的密钥。但是,如果你想要像SVN一样工作的东西你应该使用SVN,因为Git不是设计为遵循与SVN相同的工作流程。

答案 1 :(得分:8)

有两个主要的工作流程。两者都假设每个开发人员都设置了一个免费且合理的github帐户:

  1. 将其他开发人员作为协作者添加到您的主存储库中,以便他们可以将更改推送到主存储库。
  2. 让其他开发人员分叉您的存储库并发出pull请求进行集成 变化
  3. 如果您正在制作或维护软件产品,合作者更可取。在github上有一个项目存储库,每个开发人员都有一个本地存储库用于他们的开发工作。

    如果有其他团队或开发人员使用他们自己的产品版本,那么分叉很有用。它为他们提供了一种方式(拉取请求)来提供他们的更改以增强您的产品。每个分支通常被视为项目的一个独特的可行变体。

    当您“信任”潜在的协作者时,分叉在开源环境中也很有用。如果您发现自己经常接受他们的拉动请求,您可以“促使”他们成为合作者。

    分支很重要且非常有用。如果不止一个开发人员需要在实验性功能或项目的重大扩展上协同工作,那么很难在远程仓库中没有它们。

答案 2 :(得分:0)

Git非常灵活,您可以通过多种方式进行设置。然而,人们对使用git时遵守什么是好的约定有非常强烈的意见。然而,它的设置需要一些协调,但某些方式可能需要更多或更少。搜索的一般术语是“git工作流程”,以便找到有关此问题的讨论。

请注意,每个git checkout都是一个存储库,因此从某种意义上说,每个开发人员都必须拥有自己的存储库。很可能在github上只有一个“共享”存储库,有多个密钥或一个密钥。这需要预先更多的协调 - 你必须就发展的方向达成一致。使用多个“公共”存储库,您可以延迟这一点。人们可以看看彼此的工作,并讨论它是否应该合并到一个受祝福的存储库中。

(您也可以在一个存储库中使用多个分支执行此操作,您也可以通过发送补丁集进行讨论,这只是更简单的问题。)

答案 3 :(得分:-1)

答案是:

chgrp -R <whatever group> gitrepo
chmod -R g+swX gitrepo

(找到:https://serverfault.com/a/27040/138239