Git中央仓库和团队

9
我一直在本地计算机上玩弄GIT。我已经学会了使用GIT的一些知识,例如添加、提交、合并、分支、检出和状态。虽然我还有更多需要学习,但我很困惑一个问题... GIT如何处理团队协作?
例如: - 开发人员A电脑 - 开发人员B电脑 - 开发人员C电脑 - 中央仓库(服务器)
所有开发者都在同一个项目上工作。据我所了解(如果我理解错误,请纠正我)... A、B和C开发者通过SSH远程将他们的分支(主分支?)推送到中央仓库。但是,在中央仓库上,我该如何获取从开发者那里推送的信息或哪些文件(或分支?)...在中央仓库上会是什么样子?
在中央仓库上,如何处理合并开发者的工作?
谢谢。

我对此也有同样的担忧,所以我选择了SVN。GIT裸仓库对我来说仍然不合适。 - Cheung
5个回答

4

没有一个真正意义上的“中央仓库”。通常您会创建一个,因为这样可以很好地在团队中协作并保持所有内容/每个人的组织。

在设置这个中央仓库时,您将给它一个名称。这是您对此中央仓库的本地参考点,不是您团队中的每个人都必须叫它相同的名字。这在git(以及我确定许多其他分布式版本控制系统)中称为“远程”。大多数人倾向于将其命名为“origin”。您可以通过执行git fetch origin来查找已推送到origin的分支(以及更多内容,例如标签)。当执行git pull时,您实际上正在执行git fetch,然后是git merge

据我所了解(如果我错了请纠正)... A、B和C开发者通过SSH远程将他们的分支(主分支?)推送到中央仓库。

它不一定要是主分支。就像原始版本一样,主分支是一种命名约定,并且在将目录初始化为Git存储库时会自动创建该分支。
关于中央存储库,如何获取开发人员推送的信息或哪些文件(或分支?)... 在中央存储库上会是什么样子?
请参见上面关于“git fetch”的内容。
在中央存储库上,如何处理开发人员的合并工作?
您不必在原始版本上处理合并,因为开发人员必须从正在工作的任何分支上拉取最新的所有其他工作,然后才能将其更改推送到原始版本(特别是该分支)。
希望这可以帮助您。我远远不了解所有内部细节和它真正的工作方式。

3

中央仓库不需要合并任何内容,因为它没有自己的提交记录。合并更改是开发人员的工作。中央仓库只需在提交时进行快进,或者如果其他开发人员先推送了,则拒绝提交。


0

0

看一下Pro Git书的第5章——它应该能回答你所有关于Git工作流的问题。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接