LoginSignup
10

More than 5 years have passed since last update.

gitのブランチ移動(checkout)を楽にするやつ

Last updated at Posted at 2016-06-02

こういうことがありました

開発中のブランチが多くなってきて、ブランチ移動が頻繁になり、
「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
コメントには豪華付録「コピペでダウンロードから設定までをやってくれる使うの自己責任ワンライナー」があります。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10