Git 分支的管理

2018-09-27 15:38 更新

到目前為止,你已經(jīng)學(xué)會(huì)了如何創(chuàng)建、合并和刪除分支。除此之外,我們還需要學(xué)習(xí)如何管理分支,在日后的常規(guī)工作中會(huì)經(jīng)常用到下面介紹的管理命令。

git branch 命令不僅僅能創(chuàng)建和刪除分支,如果不加任何參數(shù),它會(huì)給出當(dāng)前所有分支的清單:

$ git branch
  iss53
* master
  testing

注意看 master 分支前的 * 字符:它表示當(dāng)前所在的分支。也就是說,如果現(xiàn)在提交更新,master 分支將隨著開發(fā)進(jìn)度前移。若要查看各個(gè)分支最后一個(gè)提交對象的信息,運(yùn)行 git branch -v

$ git branch -v
  iss53   93b412c fix javascript issue
* master  7a98805 Merge branch 'iss53'
  testing 782fd34 add scott to the author list in the readmes

要從該清單中篩選出你已經(jīng)(或尚未)與當(dāng)前分支合并的分支,可以用 --merged--no-merged 選項(xiàng)(Git 1.5.6 以上版本)。比如用 git branch --merged查看哪些分支已被并入當(dāng)前分支(譯注:也就是說哪些分支是當(dāng)前分支的直接上游。):

$ git branch --merged
  iss53
* master

之前我們已經(jīng)合并了 iss53,所以在這里會(huì)看到它。一般來說,列表中沒有 * 的分支通常都可以用 git branch -d來刪掉。原因很簡單,既然已經(jīng)把它們所包含的工作整合到了其他分支,刪掉也不會(huì)損失什么。

另外可以用 git branch --no-merged 查看尚未合并的工作:

$ git branch --no-merged
  testing

它會(huì)顯示還未合并進(jìn)來的分支。由于這些分支中還包含著尚未合并進(jìn)來的工作成果,所以簡單地用 git branch -d 刪除該分支會(huì)提示錯(cuò)誤,因?yàn)槟菢幼鰰?huì)丟失數(shù)據(jù):

$ git branch -d testing
error: The branch 'testing' is not fully merged.
If you are sure you want to delete it, run 'git branch -D testing'.

不過,如果你確實(shí)想要?jiǎng)h除該分支上的改動(dòng),可以用大寫的刪除選項(xiàng) -D 強(qiáng)制執(zhí)行,就像上面提示信息中給出的那樣。

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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)