2026-06-15

git 查找 branch 合併狀況

記錄自己常用的 git 小技巧。

假設我 git 紀錄如下

*   5a5a7de6e1dd21123ef8348e81fb60e0651629f9 (HEAD -> master) Merge branch 'feature/foo'
|\
| * 1183a01ad3f246801b978cad341958ae61c014db (feature/foo) add file
* | eed52969748a01082308d922c5500281a3d24abb ...
* |   1b4089b3fc6fd79cebeb7569e56156c65e68e309 Merge branch 'feature/bar'
|\ \
| |/
|/|
| * 6ed0449194220f2bd1d0e73881075f74ddf921a0 (feature/bar) .
|/
| * 5c65ffa567b1e52f61df6dbbef797c074884e70e (feature/example) add file
|/
* 2e6b164aa6a8042bfa4b11cf4c4ab4fefb7fc66c Init

哪些 branch 包含指定 branch / commit

要知道「那些 branch 有指定 branch / commit」的話,使用git branch --contains

git branch --contains feature/bar
  feature/bar
* master
git branch --contains feature/foo
  feature/foo
* master 

從中可知,feature/barfeature/foo都已經合併至 master

指定 branch / commit有包含哪些 branch

如果要知道,「有哪些 branch 合併至指定 branch」,則

git branch --merged master
  feature/bar
  feature/foo
* master
git branch --merged eed52969748a01082308d922c5500281a3d24abb
  feature/bar

eed52969748a01082308d922c5500281a3d24abb 雖然是 master 的 commit,但因為現在 master 的版本更新,所以沒有把 master 列入

沒有留言:

張貼留言