3.3 Git 分支 - 分支管理
分支管理
現在已經創建、合併、刪除了一些分支,讓我們看看一些常用的分支管理工具。
git branch
命令不只是可以創建與刪除分支。 如果不加任何參數運行它,會得到當前所有分支的一個列表:
$ git branch
iss53
* master
testing
注意 master
分支前的 *
字符:它代表現在檢出的那一個分支(也就是說,當前 HEAD
指針所指向的分支)。 這意味着如果在這時候提交,master
分支將會隨着新的工作向前移動。 如果需要查看每一個分支的最後一次提交,可以運行 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
這兩個有用的選項可以過濾這個列表中已經合併或尚未合併到當前分支的分支。 如果要查看哪些分支已經合併到當前分支,可以運行 git branch --merged
:
$ git branch --merged
iss53
* master
因爲之前已經合併了 iss53
分支,所以現在看到它在列表中。 在這個列表中分支名字前沒有 *
號的分支通常可以使用 git branch -d
刪除掉;你已經將它們的工作整合到了另一個分支,所以並不會失去任何東西。
查看所有包含未合併工作的分支,可以運行 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
選項強制刪除它。