Git
Peco

あまり汎用的じゃないgitのtips

More than 1 year has passed since last update.

upstreamにmergeされているbranchを全て削除

git branch | xargs git branch -d

untracked filesを一括削除

本当に全部消えるので注意

git clean -fdx

特定のディレクトリにある最新のcommit hashを確認

cd ~/git/something_special && git log -1 | cat - | grep commit

特定のlocal branch以外全てのbranchを削除する

git branch | grep -v branch_name | xargs git branch -D

特定の単語を含むbranchを削除

git branch | grep fix- | awk '{print $1}' | xargs git branch -D

branchをincremental searchしつつ削除 (要peco)

git branch | peco | xargs git branch -D

branchをincremental searchしつつcheckout (要peco)

git branch | peco | xargs git checkout

2つのbranch間の同じファイルでdiffを取る

git diff master feature_branch_a file_to_be_compared.txt

2つのbranch間で別名のファイルでdiffを取る

git diff master:old.txt feature_branch_a:new.txt

上記tipsを.zshrcなどにaliasとして登録しておくと便利

alias pbd='git branch | peco | xargs git branch -D'
alias pco='git branch | peco | xargs git checkout'