こういうことがありました
開発中のブランチが多くなってきて、ブランチ移動が頻繁になり、
「git branchでブランチ名をコピーしてgit checkoutと書いてペースト・・・git branchでブランチ名をコピーしてgit checkoutと書いてペースト・・・git branchでブランチ名をコピーしてgit checkoutと書いてペースト・・・」
ということを繰り返していたため、そのうちに怒りシンジくんになってしまったので、
さくっとブランチのcheckoutをできるスクリプトを書いてみた。
これ
#!/bin/bash
branches=`git branch | grep -v -e"^\*" | tr -d ' '`
PS3="Select branch > "
echo 'Branch list:'
select var in ${branches}
do
echo "git checkout ${var}"
git checkout ${var}
exit 0
done
こいつを適当な場所においてaliasを設定してやります。
そして、いつもgit checkoutしてた場所でaliasに設定してやったコマンドを叩くことで、
ブランチ名が出てきて、チェックアウトしたいブランチを選択したらチェックアウトされるというちょう嬉しい感じになります。
例
状態:
- ~/binにgit_checkout.shとしてスクリプトを作った
- ローカルリポジトリはbranch_bに向いている
- branch_aにcheckoutしたい
$ alias gitch='~/bin/git_checkout.sh'
$ cd (ローカルリポジトリの場所)
$ gitch
Branch list:
1) master
2) branch_a
3) branch_c
Select branch > 2
git checkout branch_a
Switched to branch 'branch_a'
$
てな感じになります。
gistにもうpしました
https://gist.github.com/aminosan/e3cbe51743994a7273a248671aa47a70
コメントには豪華付録「コピペでダウンロードから設定までをやってくれる使うの自己責任ワンライナー」があります。