Я уже писал о том как получить список комитов, из которого можно сделать текстовый файл с изменениями между двумя ветками.
Если вы придерживаетесь подхода «одна фича — один бранч» и не делаете значимых комитов без веток, то вам подойдёт другой способ:
git branch -r --merged staging | \
grep -v -E `(git branch -r --merged master | \
tr "\n" " " | \
sed -e "s/^ *//" -e "s/ *$//" | \
tr -s " " "|")`
Эта последовательность команд выдаст список веток, которые были объединены в staging, но ещё не попали в master.