【Git】git branch –no-merged でマージされていないブランチを調べる
gitコマンドでマージされていないブランチを調べる
システム開発を続ける中では機能開発やバグ修正のために様々なブランチを作成します。リリース前にリリースブランチに対してマージ漏れが無いかの確認をgitコマンドで行うことができます。
git branch –no-mergedを使います。リモートブランチに対して実行するには -r オプションを付けます。
以下のようなブランチの状態だとします。
このときmasterブランチをチェックアウトしてgit branch –no-mergedを実行すると以下のような結果になります。
$ git checkout master
$ git branch --no-merged
branch1
branch2
masterブランチにbranch1をマージするとブランチは以下のような状態になります。
$ git checkout master
$ git merge branch1
git branch –no-mergedとgit ranch –mergedを実行すると以下のような結果になります。
$ git branch --no-merged
branch2
$ git branch --merged
branch1
* master
さらにmasterブランチにbranch2をマージするとブランチは以下のような状態になります。
$ git checkout branch2
$ git merge branch2
この状態でgit branch –no-mergedとgit ranch –mergedを実行すると以下のような結果になります。
$ git branch --no-merged
# 何も表示されない
$ git branch --merged
branch1
branch2
* master
2つのブランチに差がない場合
以下のようにmasterブランチとbranch1に差がない状態でgit branch –no-mergedとgit ranch –mergedを実行すると以下のような結果になります。
$ git branch --no-merged
# 何も表示されない
$ git branch --merged
branch1
* master
branch1がmasterブランチにマージされていると表示されます。
ファストフォワード可能な場合
branch1で1つコミットしてからbranch2を作成し、1つコミットします。この状態でgit branch –no-mergedとgit ranch –mergedを実行すると以下のような結果になります。
$ bit branch --no-merged
branch1
branch2
$ git branch --merged
* master
branch2をmasterにマージするとファストフォワードされて以下のような状態になります。
この状態でgit branch –no-mergedとgit ranch –mergedを実行すると以下のような結果になります。
$ git branch --no-merged
# 何も表示されない
$ git branch --merged
branch1
branch2
* master