如何在Git的一个分支上与其他人一起工作?

时间:2010-10-11 11:35:53

标签: git

我正在和我的同事一起做一些功能。我们创建了主题分支。当我们只合并所有东西时,一切都很好 - 我们在服务器上的分支与本地副本和主人保持最新的分支。但这不是理想的工作流程。

有人能给我一个更好的解决方案吗?

3 个答案:

答案 0 :(得分:3)

我想你想与你的同事一起工作,而不必使用主存储库作为中间人。我将其他人员库添加为远程,并创建一个跟踪他的主题分支的分支。然后另一个人可以这样做,但将您的本地主题分支设置为其上游分支。

这样的东西
  1. git remote add coworker file://// coworkersComputer / path / to / repo
  2. git fetch coworker
  3. git checkout --track coworker / topic-branch
  4. 在这里,您可以从同事那里获取更改。如果你想重新设置东西,你可以随时创建本地分支并将它们重新绑定到topic-branch。

    您的同事必须以类似的方式设置您的计算机:

    1. git remote add yourRepo file://// ..
    2. git fetch yourRepo
    3. git branch --set-upstream topic-branch yourRepo / topic-branch
    4. 这是一件好事,你可以完全隔离,而不会给其他同事造成任何麻烦。您已经将对方设置为遥控器,因此1.只需要一次。仅当您要设置要处理的新主题时才需要使用2和3.

答案 1 :(得分:1)

这就是我喜欢的方式。你们每个人都应该在自己的分支机构工作。在集成时,检查主分支并从每个分支中拉出(您将添加,提交并提取您希望进入生产的相关更改)。

像Integrity(www.integrityapp.com)这样的持续集成服务器应该有所帮助。

答案 2 :(得分:0)

我的猜测是你正在从服务器做git pull,当你真正想要的是git fetch时。问题是git pull会自动将您的本地分支与它正在跟踪的远程分支合并,但git fetch没有。

解决方案是仅使用git fetch,然后使用git merge origin/mastergit rebase origin/master(将master替换为实际的分支名称),具体取决于您想要的内容历史看起来像。