Git “feature branch” alias

git aliases are useful command-line shortcuts to save a minute or two here and there while working with your version-controlled source code (or other data).

Here’s one I’ve been using recently in case it saves you time too. It creates and checks out a new branch based on the latest code in the configured HEAD / upstream branch on the origin remote.

To use it, just add the following line to your `~/.gitconfig`

        default = "!git remote show origin | grep 'HEAD branch:' | cut -d ' ' -f 5"
        fb = "!git fetch origin && git checkout -t origin/$(git default) -b"

To use this, you can run these aliased commands in a repository directory:

  • git default to get the default remote branch.
  • git fb try/some-new-feature to create a new feature branch based on the remote default branch. (fb is short for “feature branch,” of course).


  • 2022-12-30 to add the separate default alias I’ve been using as well.
  • 2020-07-21 to continue to work with repositories that have moved away from calling the default branch master (Github is changing the default).

2 comments / Add your comment below

    1. Apologies, Lance. I thought I’d replied to this!

      The `!` at the beginning of a git alias means to run the entirety of the command “externally” (as opposed to being a subcommand of git).

      I use it here because this is a composition of more than one git command.

Leave a Reply