操作基礎(chǔ):Git本地分支與遠(yuǎn)程分支的追蹤關(guān)系
序言
測(cè)試環(huán)境:ubantu14、window10
讀本文需要用到的操作基礎(chǔ)
注:以下操作命令主要與分支有關(guān)。且認(rèn)為本地master為當(dāng)前分支,dev為要新建的分支。
從當(dāng)前分支切換到‘dev’分支: git?checkout?dev 建立并切換新分支: git?checkout?-b?'dev' 查看當(dāng)前詳細(xì)分支信息(可看到當(dāng)前分支與對(duì)應(yīng)的遠(yuǎn)程追蹤分支): git?branch?-vv 查看當(dāng)前遠(yuǎn)程倉(cāng)庫(kù)信息 git?remote?-vv
Git本地分支與遠(yuǎn)程分支的追蹤關(guān)系
我們可以通過(guò)git branch -vv
查看分支與遠(yuǎn)程分支追蹤狀態(tài),要修改追蹤關(guān)系接下來(lái)會(huì)講。?
一般我們Git提交都不會(huì)直接提交主分支master,先提交到dev分支,沒(méi)問(wèn)題,再會(huì)合并到master分支。接下來(lái)會(huì)講。?
追蹤關(guān)系主要就是說(shuō),我當(dāng)前本地分支會(huì)對(duì)應(yīng)一個(gè)遠(yuǎn)程分支,我的任何操作(eg. push、pull操作)都只會(huì)在這個(gè)關(guān)系上發(fā)生。如果我們想當(dāng)前本地分支與遠(yuǎn)程的其他分支發(fā)生關(guān)系呢?接下來(lái)會(huì)講。
Git push
git?push?origin?[本地分支名]:[遠(yuǎn)程分支名]
如果直接寫(xiě)git push,是push當(dāng)前分支到當(dāng)前分支的追蹤關(guān)系分支。?
一般本地master分支,push到的是遠(yuǎn)程倉(cāng)庫(kù)的master分支。?
我們可以修改其分支的追蹤關(guān)系。?
注:接下來(lái)操作中,是修改本地‘master’分支的追蹤分支操作,原先對(duì)應(yīng)遠(yuǎn)程分支是master,我們要修改為遠(yuǎn)程dev分支。?
步驟:
① 進(jìn)入當(dāng)前項(xiàng)目根目錄的’.git’文件夾(請(qǐng)自行設(shè)置顯示隱藏文件)。打開(kāi)config文件(注意不要用window記事本打開(kāi))。②?[remote "origin"]
這一項(xiàng)是修改對(duì)應(yīng)遠(yuǎn)程Git倉(cāng)庫(kù)地址。③?[branch "master"]
這一項(xiàng)是修改本地分支‘master’的遠(yuǎn)程追蹤關(guān)系分支,直接修改merge = refs/heads/master
為merge = refs/heads/dev
④ 再次通過(guò)命令行查看狀態(tài)就可以發(fā)現(xiàn)你的遠(yuǎn)程分支已經(jīng)改掉。⑤ 可能出現(xiàn)的問(wèn)題補(bǔ)充:?
沒(méi)有[branch "master"]
這一項(xiàng)怎么辦??
如果是新項(xiàng)目,沒(méi)有g(shù)it pull或git clone,就不會(huì)與遠(yuǎn)程分支建立關(guān)系,或者也可以自己添加這一項(xiàng),但不建議。
[注:歡迎大佬駕臨指出錯(cuò)誤]