開発をしているとブランチの移動を行うことが多いが、いちいちブランチ名を確かめてコピペなどめんどくさい。なので簡単にするために以下のようにシェルのfunctionを定義しといた。
function co() { git branch | grep $1 | xargs git checkout }
これでブランチ名の一部を入れればローカルにあるブランチに移動できる。2つ以上のブランチがgrepにひっかかる場合はエラーになるものの、ある時期に頻繁に移動するブランチは限られていることが多いので一意な文字列になる部分を覚えておけばよい。
ついでに追跡ブランチから選んで移動する場合もあるので定義した。
function co-a() { git branch -a | grep $1 | cut -d'/' -f3- | xargs git checkout
一応コマンドの意味は
cut -d'/' -f3-:スラッシュで区切ったとき3番以降に来る文字列を出力
remote/origin/hogeであればhogeがとれる
その他、gitではないが便利なやつ
function find-grep() { find . -type f ! -name ".git" | xargs grep -n --binary-files=without-match $@ }
指定した文字列が含まれるファイルとその行数をカレントディレクトリ以下から探して表示してくれる
入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界
- 作者: ブルースブリン,Bruce Blinn,山下哲典
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2003/02
- メディア: 単行本
- 購入: 18人 クリック: 331回
- この商品を含むブログ (61件) を見る