我們只是用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
。