git diff base..feature
git log --no-merges base..feature
git log --no-merges --pretty=%H base..feature | xargs git show
パスの通った場所に git-foobar
スクリプトを配置し、実行権限を付与すると git foobar
で呼び出せる。
現在のディレクトリが git リポジトリかどうかチェックするスクリプトを先頭に入れておく。
#!/bin/bash
if [ -z "$(git rev-parse --git-dir 2> /dev/null)" ]; then
d=$(dirname .);
d=$(cd "$d" && /bin/pwd);
echo "$d is not a git repository"
fi
# ここにシェルを書く
例えばブランチ間差分(コミットをdiffにバラして表示)を git cherrydiff base..feature
にしたい場合は以下の通り。
#!/bin/bash
if [ -z "$(git rev-parse --git-dir 2> /dev/null)" ]; then
d=$(dirname .);
d=$(cd "$d" && /bin/pwd);
echo "$d is not a git repository"
fi
git log --no-merges --pretty=%H $1 | xargs git show