如何實(shí)現(xiàn)
有時(shí)候,我們看到有價(jià)值的git項(xiàng)目横媚,通常纠炮,我們會(huì)選擇把原項(xiàng)目fork過來,然后自己去把玩研究灯蝴。然而恢口,原項(xiàng)目進(jìn)行了更新,fork過來的代碼卻還是原來的版本绽乔,那有沒有什么做法弧蝇,能同時(shí)更新到我自己的項(xiàng)目呢?去網(wǎng)上查了相關(guān)的解決方法折砸,確實(shí)是有的看疗。
首先,我們通過 git remote -v
命令可以查看遠(yuǎn)程庫睦授,一般來說两芳,只會(huì)有一個(gè)遠(yuǎn)程庫。
我們可以通過 git remote add upstream [fork遠(yuǎn)程庫地址]
去枷,把原作者的git庫添加到項(xiàng)目的遠(yuǎn)程庫來怖辆,這時(shí)候用 git remote -v
就可以查看到兩個(gè)遠(yuǎn)程庫了。
通過 git fetch upstream
拉取原項(xiàng)目到我的本地分支删顶。這時(shí)候伊约,用 git branch -a
可以查看到所有分支彼棍,其中應(yīng)該就有 upstream/xxx
分支。使用 git merge upstream/xxx
命令,就可以像合并普通分支一樣媒惕,合并原項(xiàng)目分支了寸认。
把這些命令匯總?cè)缦拢?/p>
git remote add upstream [fork遠(yuǎn)程庫地址]
git fetch upstream
git merge upstream/xxx
應(yīng)用場(chǎng)景
除了上述所說衣赶,fork別人的項(xiàng)目之外平委,我們也可以把這種模式應(yīng)用到工作中來。比如啥繁,公司可以維護(hù)一個(gè)通用的框架菜职,后邊每次項(xiàng)目都直接fork這個(gè)框架生成新的項(xiàng)目。每次框架有更新旗闽,那么我就可以通過這種方式酬核,去同步更新我的項(xiàng)目蜜另。