gitの様々なコマンド

gitを使っているとき、sourcetree等のGUIインターフェースでは出来ないことが多いです。
ターミナルからコマンドを利用すると、効率的に調査・作業を行うことができます。

#ファイル名のみのコミット差分を抽出
git diff --name-only [commit-hashA] [commit-hashA]

#追加分のみのリストを抽出
git diff --name-only --diff-filter=A

#削除分のみのリストを抽出
git diff --name-only --diff-filter=D

#変更・コピー・リネームを抽出
git diff --name-only --diff-filter=MRC

#gitで2つのブランチの分岐点を表示
git show-branch --sha1-name master develop | tail -1

#Gitで今のブランチの派生元ブランチを特定する
git show-branch | grep '*' | grep -v "$(git rev-parse --abbrev-ref HEAD)" | head -1 | awk -F'[]~^[]' '{print $2}'

#マージ済みlocalブランチの削除
git branch --merged | egrep -v "(^\*|dev)" | xargs git branch -d

#マージ済みのリモートブランチを全て削除
git branch -r --merged master | grep -v -e master | sed -e 's% *origin/%%' | xargs -I% git push --delete origin %

#マージ済みのローカルブランチを全て削除
git branch --merged master | grep -v -e master | xargs -I % git branch -d %

#マージされてないブランチ一覧を表示
git branch --no-merged

#マージされているブランチ一覧を表示
git branch --merged