最近實習(xí),做前端項目,小組內(nèi)每個人都有一個完整的版本庫,但是每個人一開始遠(yuǎn)端克隆下來的地址各不相同(例如我是aaa@X.com 而同事是bbb@X.com , ccc@X.com等等),那麼,每個人做完自己的修改再向遠(yuǎn)端推送的時候,難道不是只向自己的那個遠(yuǎn)端庫推送嗎?可是為什麼我可以pull下來別人的修改,好像我們的遠(yuǎn)端函式庫是同一個一樣?
你說的每個人一開始克隆的倉庫應(yīng)該一開始是fork
來自同一倉庫的,就是說有一個公共倉庫 sss
,你說的aaa
, bbb
, ccc
都是fork
來自sss
的倉庫,然后每個人修改了在推送自然是往各自的倉庫推送的,但是aaa
可以向sss
發(fā)起一個PR,就是pull request
,那么這個pr如果被合并到sss上之后,你就可以在本地添加sss
的遠(yuǎn)端倉庫,然後pull下來別人的修改。
相對應(yīng)的git指令如下:
假設(shè)你的遠(yuǎn)端倉庫ddd
fork來自sss
,那么你可以clone下來ddd
之后,添加遠(yuǎn)程sss
的倉庫
git remote add sss <sss的git地址>
如果aaa
修改了自己的倉庫代碼之后,向sss
發(fā)起一個pull request
,sss
又合并了這個PR,那么你在本地可以pull下來sss
的改變
git pull --rebase sss