Using the Scala source repo to demonstrate - see Github
Show merged and unmerged branches #
This command allows you to show all local branches merged / unmerged to current branch
➜ scala git:(2.12.x) git branch -a --merged
* 2.12.x
remotes/origin/2.11.x
remotes/origin/2.12.x
remotes/origin/HEAD -> origin/2.12.x➜ scala git:(2.12.x) git branch -a --no-merged
remotes/origin/2.10.x
remotes/origin/2.8.x
remotes/origin/2.9.x
remotes/origin/DarkDimius-patch-1
remotes/origin/gh-pages
remotes/origin/legacy/msilThis shows you all local branches merged into named branch:
➜ scala git:(2.12.x) git branch -a --merged origin/2.9.x
remotes/origin/2.9.xBetter output #
Put these 2 lines into ~/.gitconfig under the ‘[alias]’ section
unmerged = !git branch -r --no-merged | grep -v HEAD | xargs -L1 git --no-pager log --pretty=tformat:'%Cgreen%d%Creset | %h | %an | %Cblue%ar%Creset' -1 | column -t -s '|'
merged = !git branch -r --merged | grep -v HEAD | xargs -L1 git --no-pager log --pretty=tformat:'%Cgreen%d%Creset | %h | %an | %Cblue%ar%Creset' -1 | column -t -s '|'Here is how my alias section looks like
This is the output of the commands
➜ scala git:(2.12.x) git unmerged
fatal: Unknown commit master
There are no local branches out of sync with master
➜ scala git:(2.12.x) git merged
(origin/2.11.x) 1fcfdd8 Lukas Rytz 4 days ago
(HEAD, origin/HEAD, origin/2.12.x, 2.12.x) 0e4c39a Vlad Ureche 2 days ago