Git和Github:如何重组我们的Github和个人团队成员,以适应我们最新的工作流程?

时间:2012-10-15 13:11:40

标签: git github git-workflow

背景

1)我们是由六位初学者组成的团队,第一次尝试Git和Github。

2)我们在Github上创建了一个回购,然后我们所有人都克隆了它。

3)然后我们各自创建了自己的本地功能分支,并开始研究我们的第一个功能。

4)现在我们发现了一个使用两个永久分支(“主”和“开发”)和任意数量的功能分支的工作流程,这些功能分支来自“开发”(并在它们发生时返回到它)完成了。

问题:

A)将Github和团队回购从当前状态(“主”)转变为我们想要的(“主”和“开发”)的最佳方法是什么?

B)团队中的每个成员应该进行哪些跟踪?也就是说,我们都有兴趣在Github上继续使用“develop”,所以我们可以经常修改我们的功能分支。例如。

如果这是一个“愚蠢”的问题,感谢和抱歉。我觉得答案正在盯着我,但我没有信心,并希望得到一位经验丰富的Git用户的帮助,理想情况是使用类似于我正在采取的工作流程的用户。感谢。

1 个答案:

答案 0 :(得分:1)

阅读this article,它精美地解释了如何使用git与多个开发人员一起管理项目。我相信文章的摘要可以在这个图表中显示:

git workflow http://nvie.com/img/2009/12/Screen-shot-2009-12-24-at-11.32.03.png

  

A)将Github和团队回购从当前状态(“主”)转变为我们想要的(“主”和“开发”)的最佳方法是什么?

这很容易。您当前的master分支相当于上图中的develop分支。因此,您只需要分支develop分支,让开发人员使用 而不是master

  

B)团队中的每个成员应该进行哪些跟踪?也就是说,我们都有兴趣在Github上继续使用“develop”,所以我们可以经常修改我们的功能分支。例如。

develop分支而言,您以与威胁master相同的方式威胁它。几乎没有什么区别。现在master分支将变得特别。它应该始终稳定并且可供其他人下载。因此,您应该授予仅向受信任的人数推送master的权限(我不确定git是否为您执行此操作,或者您只需要告诉别人并希望他们遵守)。一个可以推动掌握的人将负责master分支的任何变更。

请注意,开发人员仍然可以发布hotfixes并将其合并到develop中,但他们应该让有权限的人将其与master合并。

release分支可以采用与master类似但不那么受限制的方法。

至少强制执行权限的一种方法是为master建立另一个存储库,开发人员可以在其中发出“拉取请求”,有权限的存储库可以接受拉取。这实际上是Linux内核的管理方式。使用Linux内核,Linus自己管理着一个master存储库。他的副手保留了几个develop分支机构,他们时不时地向他发送“拉动请求”。