如何在 Git 中檢視已合併和未合併的分支?
當我們在 Git 倉庫中有多個分支時,我們需要將所有分支的更改合併到主要工作線,即 master 分支。因此,如果我們當前位於 master 分支,並且需要檢視哪些分支需要合併,我們可以使用以下命令。
$git branch --no-merged
我們還需要驗證哪些分支已經合併,以便我們可以刪除未使用的分支。
$git branch --merged
示例
讓我們建立一個示例來了解如何檢視已合併和未合併的分支。下圖顯示了三個分支:master、feature、bugfix。所有三個分支都從初始提交開始分叉。

我們將 feature 分支合併到 master,並將應用 --merged 和 --no-merged 選項來識別已合併的分支和尚未合併的分支。

讓我們透過一個例子來理解這一點。
步驟 1 - 建立一個倉庫,新增初始提交併建立三個分支 master、feature、bugfix。
$ git init $ echo hello>hello1.txt $ git add . $ git commit -m 'initial commit' $ git branch feature $ git branch bugfix $ git branch
輸出
輸出顯示已建立所有三個分支。*master 表示它是當前分支。
bugfix feature * master
步驟 2 - 我們將在每個分支中進行提交,以便所有分支都從初始提交分叉。
$echo second>>second.txt $git add . $git commit -m 'second.txt' $git switch feature $echo third>third.txt $git add . $git commit -m 'third' $git switch bugfix $echo four>four.txt $git add . $git commit -m 'four.txt' $git switch master $git log --oneline --graph --all
輸出
輸出顯示有 4 次提交,所有三個分支都已從初始提交分叉。
* f5c8a8f (bugfix) four.txt | * 97520af (feature) third |/ | * 075d9c2 (HEAD -> master) second.txt |/ * dcd8e55 initial commit
步驟 3 - 使用選項 --merged 和 --no-merged 檢查 master 中已合併和未合併分支的狀態。下面顯示了命令和輸出。從輸出中可以清楚地看出,bugfix 和 feature 分支需要合併到 master 分支。
$ git branch --merged * master //output $ git branch --no-merged bugfix //output feature
步驟 4 - 將 feature 分支合併到 master 分支,並檢查分支的已合併和未合併狀態。
$git merge feature Merge made by the 'recursive' strategy. //output third.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 third.txt $ git branch --merged feature //output * master $$ git branch --no-merged bugfix //output
輸出顯示 bugfix 是唯一需要合併的分支,並且 feature 分支已合併。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP