ba8afa
Last Updated: February 25, 2016
·
528
· cskeppstedt
Profile

Git branch fuzzy search checkout

If you have a ton of ongoing branches, it can be nice to have a fuzzy search to assist you when you are switching branches.

I have extended an example from the phenomenal fzf project that strips the remote/origin part from the branch name, so you may checkout new, local branches.

  • Install fzf (brew install fzf on mac, if you have homebrew)

  • Add this function to your shell, e.g. in .bash_profile:

fbr() {
    local branches branch
    branches=$(git branch -a) &&
    branch=$(echo "$branches" | fzf +s +m -e) &&
    git checkout $(echo "$branch" | sed "s:.* remotes/origin/::" | sed "s:.* ::")
}

You can of course name it anything, I chose fbr for "fuzzy branch".

Demo

Picture