最近實習,做前端項目,小組內每個人都有一個完整的版本庫,但是每個人一開始遠端克隆下來的地址各不相同(例如我是aaa@X.com 而同事是bbb@X.com , ccc@X.com等等),那麼,每個人做完自己的修改再向遠端推送的時候,難道不是只向自己的那個遠端庫推送嗎?可是為什麼我可以pull下來別人的修改,好像我們的遠端函式庫是同一個一樣?
滿天的星座2017-05-02 09:34:12
你說的每個人一開始克隆的倉庫應該一開始是fork
来自同一仓库的,就是说有一个公共仓库 sss
,你说的aaa
, bbb
, ccc
都是fork
来自sss
的仓库,然后每个人修改了在推送自然是往各自的仓库推送的,但是aaa
可以向sss
发起一个PR,就是pull request
,那么这个pr如果被合并到sss上之后,你就可以在本地添加sss
的遠端倉庫,然後pull下來別人的修改。
相對應的git指令如下:
假設你的遠端倉庫ddd
fork来自sss
,那么你可以clone下来ddd
之后,添加远程sss
的倉庫
git remote add sss <sss的git地址>
如果aaa
修改了自己的仓库代码之后,向sss
发起一个pull request
,sss
又合并了这个PR,那么你在本地可以pull下来sss
的改變
git pull --rebase sss