突っ走り書き

見せるほどのものでは..

peco を使って快適なブランチの切り替え

peco にはまりつつあるので,勢いに任せていろんなコマンドを作っているところです.

git でブランチを移動するときは,

  • git branch でブランチを探す
  • git checkout でブランチを切り替え

のように2つのコマンドを使うことが多いと思います.

git branch
  branch_A
* branch_B
  branch_C
git checkout branch_C
Switched to branch 'branch_C'

これを改善するために,peco を使ったコマンドを .zshrc に追加.

# .zshrc
setopt nonomatch
function git-checkout-with-peco() {
    local branch_name=$(git branch -av | peco | sed -e 's/^..\([^ ]*\).*$/\1/g')
    git checkout $branch_name
    git branch
}
alias gco='git-checkout-with-peco'

これで gco と打つだけで peco が走って快適にブランチの移動ができる.