我试图清除我对如何在git存储库上与超过1个开发人员合作的困惑。让我解释一下我们到目前为止的工作方式。
我们有3个开发人员在同一个项目上工作,可以说dev1,dev2和dev3。在git服务器上的主分支并且已经检出,我们所做的是,当开发人员第一次克隆repo时,他创建了一个新分支,让他们在本地机器上说branch-dev1,并且他在该分支上工作。当事情看起来稳定时,他将他的分支推到中央回购。所以他的分支分支-dev1在集中式服务器中可用。项目经理然后将他的brach合并到主分支,并解决冲突(如果有的话)。类似dev2,dev3推送他们的分支branch-dev2,branch-dev3,并且他们的分支再次合并并且冲突解决(如果有的话)。然后第二天,他们每个人都从集中服务器中拔出头,并从其他开发者处获取提交。他们在迭代中工作。
我想知道的是,这是正确的方法吗?
答案 0 :(得分:3)
关于git的一个令人困惑的事情是,没有“正确的方法”。
Git是DVCS。它也可以称为“工作流工具包”。它使您能够设置和创建适合您的任何工作流程。
如果开发人员对开发主线的贡献分离对您的组织有意义,那么就这样做。在同一个“开发”分支上工作的多个开发人员也没有问题。或者使用单独的小分支来为每个开发人员提供单独的功能。
答案 1 :(得分:2)
了解上游对DVCS的意义非常重要 请参阅“Definition of “downstream” and “upstream”” 一旦你知道,你就会发现你可以拥有许多上游回购。
您只描述了一个可能的工作流程,如“Distributed Workflows (Pro Git book)”中所述:
这不是唯一一个(如Pro Git页面的其余部分所示),并且不会阻止dev1将dev2的repo注册为新的上游(远程)repo并直接从那里获取。
但是,如果三个开发人员正在进行相同的“开发工作”,他们应该(或者至少推送)相同的分支:请参阅“{{3} }”。
不要忘记,使用DVCS(分布式VCS),When should you branch?。