3.5 遠(yuǎn)程分支

2018-02-24 15:22 更新

遠(yuǎn)程分支

遠(yuǎn)程引用是對(duì)遠(yuǎn)程倉(cāng)庫(kù)的引用(指針),包括分支、標(biāo)簽等等。你可以通過(guò) git ls-remote (remote) 來(lái)顯式地獲得遠(yuǎn)程引用的完整列表,或者通過(guò) git remote show (remote) 獲得遠(yuǎn)程分支的更多信息。然而,一個(gè)更常見(jiàn)的做法是利用遠(yuǎn)程跟蹤分支。

遠(yuǎn)程跟蹤分支是遠(yuǎn)程分支狀態(tài)的引用。它們是你不能移動(dòng)的本地引用,當(dāng)你做任何網(wǎng)絡(luò)通信操作時(shí),它們會(huì)自動(dòng)移動(dòng)。遠(yuǎn)程跟蹤分支像是你上次連接到遠(yuǎn)程倉(cāng)庫(kù)時(shí),那些分支所處狀態(tài)的書(shū)簽。

它們以 (remote)/(branch) 形式命名。例如,如果你想要看你最后一次與遠(yuǎn)程倉(cāng)庫(kù) origin 通信時(shí) master 分支的狀態(tài),你可以查看 origin/master 分支。你與同事合作解決一個(gè)問(wèn)題并且他們推送了一個(gè) iss53 分支,你可能有自己的本地 iss53 分支;但是在服務(wù)器上的分支會(huì)指向 origin/iss53 的提交。

這可能有一點(diǎn)兒難以理解,讓我們來(lái)看一個(gè)例子。假設(shè)你的網(wǎng)絡(luò)里有一個(gè)在 git.ourcompany.com 的 Git 服務(wù)器。如果你從這里克隆,Git 的 clone 命令會(huì)為你自動(dòng)將其命名為 origin,拉取它的所有數(shù)據(jù),創(chuàng)建一個(gè)指向它的 master 分支的指針,并且在本地將其命名為 origin/master。Git 也會(huì)給你一個(gè)與 origin 的 master 分支在指向同一個(gè)地方的本地 master 分支,這樣你就有工作的基礎(chǔ)。

“origin” 并無(wú)特殊含義

遠(yuǎn)程倉(cāng)庫(kù)名字 “origin” 與分支名字 “master” 一樣,在 Git 中并沒(méi)有任何特別的含義一樣。同時(shí) “master” 是當(dāng)你運(yùn)行 git init 時(shí)默認(rèn)的起始分支名字,原因僅僅是它的廣泛使用,“origin” 是當(dāng)你運(yùn)行 git clone 時(shí)默認(rèn)的遠(yuǎn)程倉(cāng)庫(kù)名字。如果你運(yùn)行 git clone -o booyah,那么你默認(rèn)的遠(yuǎn)程分支名字將會(huì)是 booyah/master。

Figure 3-23. 本地與遠(yuǎn)程的工作可以分叉

如果要同步你的工作,運(yùn)行 git fetch origin 命令。這個(gè)命令查找 “origin” 是哪一個(gè)服務(wù)器(在本例中,它是 git.ourcompany.com),從中抓取本地沒(méi)有的數(shù)據(jù),并且更新本地?cái)?shù)據(jù)庫(kù),移動(dòng) origin/master 指針指向新的、更新后的位置。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)