我们只是用bitbucket建立一个项目。我们把我们的'生产'代码放在一个回购库中,然后我创建了一个fork [m],然后我的同事[C]也创建了它的一个分支。不明白分叉
[P]
/ \
[M] [C]
我做了一些改变,并创建了一个拉请求并接受它,所以[P]现在有我的代码[M]。
这里是我困惑的地方。 [C],我的同事回购了更新后的代码如何?
谢谢!
我们只是用bitbucket建立一个项目。我们把我们的'生产'代码放在一个回购库中,然后我创建了一个fork [m],然后我的同事[C]也创建了它的一个分支。不明白分叉
[P]
/ \
[M] [C]
我做了一些改变,并创建了一个拉请求并接受它,所以[P]现在有我的代码[M]。
这里是我困惑的地方。 [C],我的同事回购了更新后的代码如何?
谢谢!
你的同事需要如果你在P中的master
分支工作从P.
拉,则该命令会...
git pull origin master
注:如果我们实际上是在谈论约forking(这是对服务器侧克隆回购的动作),而不是简单的克隆,然后将模式是:
BitBucket
------------[P]-----------
| ^ |
| | |
(forked) (pull request) (forked)
| |
v v
[M] [C]
| |
----|------------------------|-----
| Local workstations |
| |
(git clone) (git clone)
| |
v v
[MLocal] [CLocal]
换言之,M
和C
位于BitBucket服务器上,而不在Muser
和Cuser
本地工作站上。
'origin
' 将是他们的MLocal
CLocal
和各自upstream回购,即M或C,不P
。
(请参阅“What is the difference between origin and upstream”,对GitHub上,而且也适用于到位桶)
本作的Muser是有用的,因为:
Muser
可能不希望直接推到P
(他可能是,他是的P
上到位桶)的所有者,所以在这里,回购M
充当他的“缓冲器”Cuser
无权推P
,所以他必须到餐桌以及在这种情况下,Cuser
看到P
任何更新,他需要为远程添加P
到CLocal
回购(他的叉子的,即他的克隆本地回购)
git remote add P https://bitbucket.org/Puser/P
git pull P master
一旦这些新的变化是整合并在本地进行测试(在CLocal
),它们可以被推回到C
,以及由Cuser
引入的新的演变。只有那些新的修改将是一个pull request的一部分,Muser
(和P
所有者)检查和添加到P.
同样,Muser
需要作为远程添加P
到MLocal
,以取回任何修改从C
被接受为P
。