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