12

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

springloops 的吸引力在于,每次有人进行更改时,该更改都会自动通过 FTP 上传到开发服务器。然后只有一个人负责将开发转移到生产。

4

4 回答 4

17

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

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

如果您真的想使用一个帐户,则不必共享相同的密钥。Github 允许您上传任意数量的密钥。但是,如果您想要像 SVN 一样工作的东西,您应该使用 SVN,因为 Git 并非旨在遵循与 SVN 相同的工作流程。

于 2011-02-15T18:39:54.960 回答
10

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

  1. 将其他开发人员作为协作者添加到您的主存储库,以便他们可以将更改推送到其中。
  2. 让其他开发人员分叉您的存储库并发出拉取请求以集成更改

如果你们中的一组人正在制作或维护软件产品,那么合作者是更可取的。该项目在 github 上有一个存储库,每个开发人员都有一个本地存储库用于他们的开发工作。

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

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

分支很重要而且非常有用。如果多个开发人员需要一起开发实验性功能或对您的项目进行重大扩展,则很难在远程仓库中没有它们。

于 2013-10-23T20:28:27.250 回答
0

Git 非常灵活,您可以通过多种不同的方式对其进行设置。然而,人们对于在使用 git 时要遵守哪些好的约定有着非常强烈的看法。然而,它的设置需要一些协调,但某些方式可能需要或多或少。搜索的通用术语是“git 工作流”以查找有关此的讨论。

请注意,每个 git checkout 都是一个存储库,因此在某种微不足道的意义上,每个开发人员确实必须拥有自己的存储库。很可能在 github 上只有一个“共享”存储库,可以使用多个密钥,也可以使用一个密钥。这需要预先进行更多的协调——你必须就发展的方向达成一致。使用多个“公共”存储库,您可以延迟此操作。人们可以查看彼此的工作并讨论是否应该将其合并到一个有福的存储库中。

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

于 2011-02-15T20:56:50.263 回答
-1

答案是:

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

(发现:https ://serverfault.com/a/27040/138239 )

于 2013-07-18T09:20:33.277 回答