不要把 Pull 當(dāng) Fetch 用

前言:最近遇到一個(gè)坑,我居然之前都沒遇到過,還是自己開發(fā)太少了,git 用的太少了

背景

現(xiàn)在有兩個(gè)遠(yuǎn)程倉庫:

  • upstream:一個(gè)多人協(xié)作的遠(yuǎn)程倉庫,自己沒有 push 的權(quán)限。
  • origin:自己的遠(yuǎn)程倉庫,自己有 push 權(quán)限,每次修改代碼以后先 push origin,然后再給 upstream 提 PR。

現(xiàn)在有四個(gè)分支:

前是分支的名字)

  • branch1:upstream 的 branch1
  • branch2:upstream 的 branch2
  • branch1:origin 的 branch1
  • branch2:origin 的 branch2

現(xiàn)在我要在 Branch1 上做開發(fā)。

正確的流程

每次我要向自己的 origin branch1 代碼倉庫 push 的正確流程應(yīng)該是:

前面是操作,后面是解釋。... 表示一系列的操作 )

  • git add:add 這次修改
  • git commit:提交這次修改
  • git pull --rebase upstream branch1:從 upstream 拉取別人最新的代碼,rebase 到當(dāng)前分支
  • ...:解決 rebase 的沖突
  • git push --set-upstream origin:提交代碼到 origin

這個(gè)流程沒什么問題。當(dāng)我們想切換到一個(gè)新的分支以后,并從 upstream 拉取代碼的時(shí)候,使用 pull 就有大問題。

使用 Pull 的大問題

當(dāng)我們?cè)?branch1 選擇使用 pull 命令拉取 branch2 的時(shí)候,就有大問題!哪怕你是這么寫的:

git pull upstream branch2:branch2

確實(shí)這樣會(huì)在本地創(chuàng)建一個(gè)新的分支 branch2 但是這個(gè)命令會(huì)自動(dòng)把 branch1 和 branch2 合并。導(dǎo)致你的終端出現(xiàn)一堆 git 的問題。然后你明明覺得:我不就是 pull 了一個(gè)分支嘛?怎么這么多問題。

因?yàn)?git pull 本質(zhì)就是 fetch + merge。而且是和當(dāng)前分支 merge。而我們只想使用 fetch 的功能。

所以想清楚如果只是拉代碼而沒有合并,一定只用 fetch!

所以應(yīng)該寫成:

git fetch upstream branch2:branch2

這樣就不會(huì)和 branch1 合并了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. GIT命令 git init在本地新建一個(gè)repo,進(jìn)入一個(gè)項(xiàng)目目錄,執(zhí)行g(shù)it init,會(huì)初始化一個(gè)re...
    江邊一蓑煙閱讀 905評(píng)論 0 0
  • git官方英文操作文檔參考[https://git-scm.com/book/zh/v2/Git-%E5%9F%B...
    dmengmeng閱讀 523評(píng)論 0 0
  • 查看、添加、提交、刪除、找回,重置修改文件 git help # 顯示command的help git sho...
    Swiftor閱讀 2,216評(píng)論 0 2
  • Basic Operation 分支管理切換分支git checkout git checkout -b #...
    hiph閱讀 168評(píng)論 0 0
  • 配置 首先是配置帳號(hào)信息ssh -T git@github.com # 登陸 github 修改項(xiàng)目中的個(gè)人信息 ...
    guanguans閱讀 828評(píng)論 0 3

友情鏈接更多精彩內(nèi)容