我正在与我的同事一起工作。我们创建了主题分支。当我们只合并所有的东西时,一切就都可以了 - 我们的服务器上的分支与本地副本和主服务器保持最新的分支。但这不是理想的工作流程。如何在Git的一个分支上与其他人一起工作?
任何人都可以指出我更好的解决方案吗?
我正在与我的同事一起工作。我们创建了主题分支。当我们只合并所有的东西时,一切就都可以了 - 我们的服务器上的分支与本地副本和主服务器保持最新的分支。但这不是理想的工作流程。如何在Git的一个分支上与其他人一起工作?
任何人都可以指出我更好的解决方案吗?
这就是我喜欢这样做的方式。你们每个人都应该在自己的分支上工作。在集成时,签出主分支并从每个分支(您将添加,承诺并提取相关更改以进行生产)拉出。
像Integrity(www.integrityapp.com)这样的持续集成服务器应该有所帮助。
我的猜测是你正在做的git pull
从服务器,当你真正想要的是git fetch
。问题是git pull
会自动合并您的本地分支和它正在跟踪的远程分支,但git fetch
不会。
的解决办法是只使用git fetch
,然后要么git merge origin/master
或git rebase origin/master
(更换master
实际分支名)之后,这取决于你想要什么历史的模样。
我想你想与你的同事一起工作,而不必使用主存储库作为中间人。我会将其他人资源库添加为远程并创建一个跟踪他的主题分支的分支。然后另一个人可以做同样的事情,但是将你当地的主题分支设置为他的上游分支。
喜欢的东西
在这里,您可以从您的同事处获得更改。如果你想重组东西,你总是可以创建本地分支并将它们重新绑定到主题分支上。
你的同事必须设置您的计算机以类似的方式:
这样做的好处是,您可以完全隔离而不会对其他同事造成任何麻烦。您已经将对方设置为遥控器,因此只需要一次。 2和3.只有当你想设置一个新的主题工作时才需要。
假设我们在一个局域网中,所以我的同事有192.168.1.33, 什么是添加他的回购的命令? git remote add coorker 192.168.1.33:/coworkersComputer/path/to/repo ? – Kummo 2013-04-03 18:34:08
git remote添加同事文件:////192.168.1.33/path/to/repo,假设你的同事通过LAN共享他的回购 – ralphtheninja 2013-04-06 09:16:42
您能否更清楚地了解是什么导致工作流程不理想?我不知道如何开始回答这个问题。 – 2010-10-11 11:40:21
例如,我希望有时候需要rebase master(将我们的提交放在最前面),或者压扁一些提交。 – 2010-10-11 11:51:38
如果您修改了您的同事所提交的提交内容,那么除非您的两位同事对您的处理方式非常谨慎,否则您会为同事制造混乱。如果你打算打底/压扁,你应该分别在不同的分支上。不要修改'master'。 – bstpierre 2010-10-12 22:04:53