1

我知道 git 是分布式的,坦率地说,我喜欢它的特性。

情况是我一直是一个软件的唯一开发人员,我从 git 开始就在我的本地存储上管理它。一直都是这样 - 换句话说,目前只存在一个存储库,我在其中提交和合并内容并将主分支保持在“公开发布”状态。

我现在即将放弃对该项目的独占控制权,并将与其他开发人员共享其源代码库,他们将提交自己的更改。所以我需要将我的项目副本分发给其他人。自然地,我想继续提交我未来的工作,并能够审查其他工作并将其合并到我的副本中 -据说创建了一个工作 git 来做

问题的一个方面是我的计算机和其他开发人员的计算机都不是公共的(即可以作为服务器ssh或类似服务访问),我无法想象我从他们的副本中提取和合并更改是多么可行存储库到我的,反之亦然。然而,该项目包括一个 Intranet 机器,我们可以将其用作存储库主机,此时我需要一条关于如何最好地设置这一切的建议。

开发人员(包括我)都不应该被指定为项目的仁慈独裁者,但是,为了管理,我将负责确保某种主分支或其他分支可用于从中签出公开版本。但我也不知道有多少其他开发人员将加入,即我们将拥有多少分布式副本,因此可能需要存储库的“中央”/主副本,我将独自创作。

恐怕我在这里无法真正清楚地看到大局。如何最好地做到这一点?

4

2 回答 2

0

如果您在 Intranet 中已经有一个候选服务器,那么使用它没有任何问题。只需在那里建立一个裸仓库,将现有的仓库推送到那里并开始将其用作中央仓库。这就是它的全部 - 没有独裁者,但中央主机将是一个中央“主仓库”。

我知道这听起来像传统的集中式模型,确实如此,但我们已经用 git 做了很多,而且效果很好。

如果你想让你的仓库作为主仓库,你可以向其他人开放那个主仓​​库,但是有一个单独的生产分支或仓库。然后,您只需将您批准的内容从 master 合并到生产分支/repo。

编辑:有关如何进行设置的实用说明在此处进行了详细说明。全程都有指导指导。我唯一要补充的是git push origin master,对于第一次推送,您可能想要使用git push --all origin而不是,因为这将推送所有分支、标签等,而不仅仅是主分支。

于 2013-02-11T21:19:30.193 回答
0

只需同意与其他开发人员的工作流程即可。我使用每个功能的分支并在这里写下我的工作流程:http: //dymitruk.com/blog/2012/02/05/branch-per-feature/

除此之外,bitbucket 提供免费的私人存储库,因此您不必担心设置自己的服务器。如果这是公开的,您也可以使用 github - 或者从他们那里获得私人回购,尽管它不是免费的。

于 2013-02-11T21:02:00.030 回答