分支管理
現(xiàn)在已經(jīng)創(chuàng)建俊马、合并、刪除了一些分支肩杈,讓我們看看一些常用的分支管理工具柴我。
git branch 命令不只是可以創(chuàng)建與刪除分支。 如果不加任何參數(shù)運(yùn)行它扩然,會得到當(dāng)前所有分支的一個列表:
$ git branch
iss53
- master
testing
注意 master 分支前的 * 字符:它代表現(xiàn)在檢出的那一個分支(也就是說艘儒,當(dāng)前 HEAD 指針?biāo)赶虻姆种В?這意味著如果在這時候提交,master 分支將會隨著新的工作向前移動。 如果需要查看每一個分支的最后一次提交界睁,可以運(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
--merged 與 --no-merged 這兩個有用的選項可以過濾這個列表中已經(jīng)合并或尚未合并到當(dāng)前分支的分支觉增。 如果要查看哪些分支已經(jīng)合并到當(dāng)前分支,可以運(yùn)行 git branch --merged:
$ git branch --merged
iss53
- master
因為之前已經(jīng)合并了 iss53 分支翻斟,所以現(xiàn)在看到它在列表中抑片。 在這個列表中分支名字前沒有 * 號的分支通常可以使用 git branch -d 刪除掉杨赤;你已經(jīng)將它們的工作整合到了另一個分支敞斋,所以并不會失去任何東西。
查看所有包含未合并工作的分支疾牲,可以運(yùn)行 git branch --no-merged:
$ git branch --no-merged
testing
這里顯示了其他分支植捎。 因為它包含了還未合并的工作,嘗試使用 git branch -d 命令刪除它時會失斞羧帷:
$ 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'.
如果真的想要刪除分支并丟掉那些工作焰枢,如同幫助信息里所指出的,可以使用 -D 選項強(qiáng)制刪除它舌剂。