您好,登錄后才能下訂單哦!
當(dāng)你從遠(yuǎn)程倉(cāng)庫(kù)克隆時(shí),實(shí)際上Git自動(dòng)把本地的master分支和遠(yuǎn)程的master分支對(duì)應(yīng)起來(lái)了,并且,遠(yuǎn)程倉(cāng)庫(kù)的默認(rèn)名稱是origin。
要查看遠(yuǎn)程庫(kù)的信息,用git remote:
或者,用git remote -v顯示更詳細(xì)的信息:
上面顯示了可以抓取和推送的origin
的地址。如果沒(méi)有推送權(quán)限,就看不到push的地址
推送分支,就是把該分支上的所有本地提交推送到遠(yuǎn)程庫(kù)。推送時(shí),要指定本地分支,這樣,Git就會(huì)把該分支推送到遠(yuǎn)程庫(kù)對(duì)應(yīng)的遠(yuǎn)程分支上
$ git push origin master
如果要推送其他分支,比如dev,就改成:
$ git push origin dev
但是,并不是一定要把本地分支往遠(yuǎn)程推送,那么,哪些分支需要推送,哪些不需要呢?
master分支是主分支,因此要時(shí)刻與遠(yuǎn)程同步;
dev分支是開發(fā)分支,團(tuán)隊(duì)所有成員都需要在上面工作,所以也需要與遠(yuǎn)程同步;
bug分支只用于在本地修復(fù)bug,就沒(méi)必要推到遠(yuǎn)程了,除非老板要看看你每周到底修復(fù)了幾個(gè)bug;
feature分支是否推到遠(yuǎn)程,取決于你是否和你的小伙伴合作在上面開發(fā)
多人協(xié)作時(shí),大家都會(huì)往master和dev分支上推送各自的修改
現(xiàn)在,模擬一個(gè)你的小伙伴,可以在另一臺(tái)電腦(注意要把SSH Key添加到GitHub)或者同一臺(tái)電腦的另一個(gè)目錄下克隆:
當(dāng)你的小伙伴從遠(yuǎn)程庫(kù)clone時(shí),默認(rèn)情況下,你的小伙伴只能看到本地的master分支
現(xiàn)在,你的小伙伴要在dev
分支上開發(fā),就必須創(chuàng)建遠(yuǎn)程origin
的dev
分支到本地,于是他用這個(gè)命令創(chuàng)建本地dev
分支:
$ git checkout -b dev origin/dev
現(xiàn)在,他就可以在dev
上繼續(xù)修改,然后,時(shí)不時(shí)地把dev
分支push
到遠(yuǎn)程:
你的小伙伴已經(jīng)向origin/dev
分支推送了他的提交,而碰巧你也對(duì)同樣的文件作了修改,并試圖推送
推送失敗,因?yàn)槟愕男』锇榈淖钚绿峤缓湍阍噲D推送的提交有沖突,解決辦法也很簡(jiǎn)單,Git已經(jīng)提示我們,先用git pull
把最新的提交從origin/dev
抓下來(lái),然后,在本地合并,解決沖突,再推送:
git pull
也失敗了,原因是沒(méi)有指定本地dev
分支與遠(yuǎn)程origin/dev
分支的鏈接,根據(jù)提示,設(shè)置dev
和origin/dev
的鏈接
再pull:
這回git pull
成功,但是合并有沖突,需要手動(dòng)解決,解決的方法和分支管理中的解決沖突完全一樣。解決后,提交,再push:
要獲取服務(wù)器遠(yuǎn)程分支的數(shù)據(jù)有兩條命令可以使用除了上面使用過(guò)的pull命令之外,還有fetch命令
$ git fetch origin 同步遠(yuǎn)程服務(wù)器origin上master分支的數(shù)據(jù)到本地
使用fetch命令,只是將origin的數(shù)據(jù)下載到了本地,但本地的工作目錄只有使用merge合并,才能更新為最新的內(nèi)容
$ git merge origin/master 合并遠(yuǎn)程服務(wù)器上的遠(yuǎn)程分支master到本地分支master
而如果使用pull命令,則相當(dāng)于fetch和merge這兩個(gè)命令的合并
$ git pull origin 同步遠(yuǎn)程服務(wù)器origin上master分支的數(shù)據(jù)到本地,并合并到本地分支master
如果不是默認(rèn)的master分支,而是其他分支,比如dev分支,則可以使用
$ git pull origin dev
相當(dāng)于
$ git fetch origin dev $ git merge origin/dev
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。