git中央存储库和团队

时间:2011-05-17 00:24:35

标签: git version-control github

我一直在我的本地电脑上玩GIT。

因为我使用GIT获得了一些知识,如添加,提交,合并,分支,结帐,状态。

我还有更多需要学习的东西,但我很困惑一件事...... git如何处理团队?

例如:

  • 开发人员计算机
  • 开发者B计算机
  • 开发人员C计算机
  • 中央存储库(服务器)

所有开发人员在同一个项目上工作。

从我的理解(纠正我,如果我错了).. A,B和C开发人员通过SSH远程将他们的分支(主?)推送到中央存储库。

但是在中央存储库中,我如何获取已经从开发人员推送的信息或哪些文件(或分支?)......在中央存储库中它会是什么样子?

在中央存储库中,如何处理合并开发人员的工作?

感谢。

5 个答案:

答案 0 :(得分:4)

本身没有“中央存储库”。您通常会创建一个,因为它可以很好地在团队中工作并保持所有人/每个人的组织。

设置此中央存储库时,您将为其指定某种名称。这是您对此中央存储库的本地参考点,并非您团队中的每个人都必须将其称为相同的内容。这是git中的“远程”(我相信很多其他DVCSs)会说话。大多数人倾向于将其命名为“起源”。通过执行git fetch origin,您可以找出哪些分支被推送到原点(以及更多,例如标记)。在执行git pull时,您实际上正在执行git fetch,后跟git merge

  

从我的理解(纠正我,如果我错了).. A,B和C开发人员通过SSH远程将他们的分支(主?)推送到中央存储库。

它不一定是主人。就像origin一样,master是一个命名约定,恰好是当你将目录初始化为git存储库时为你创建的分支。

  

但是在中央存储库中,我如何获取已经从开发人员推送的信息或哪些文件(或分支?)......在中央存储库中它会是什么样子?

见上文:git fetch

  

在中央存储库中,如何处理合并开发人员的工作?

您不必处理原点上的合并,因为开发人员必须在他们正在处理的任何分支上从其他所有人那里获取最新的工作,然后才能将他们的更改推送到原点(特别是分支)。

我希望这会有所帮助。我远非了解所有真正的工作原理。

答案 1 :(得分:3)

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

答案 2 :(得分:0)

有关如何组织存储库以及如何处理团队分支的详细说明,请访问:

http://nvie.com/posts/a-successful-git-branching-model/

答案 3 :(得分:0)

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

答案 4 :(得分:0)

我建议您开放阅读Pro Git,并免费发布关于Git的书:http://progit.org/

特别是关于维护项目的章节:http://progit.org/book/ch5-3.html

快乐旅行;)