'branch and checkout using a single command

Creating and using a new branch involves two commands:

$ git branch new_branch_name
$ git checkout new_branch_name

I tend to forget the latter, which can be annoying. Is there a way to do this using a single command? Perhaps using an alias, or something similar? I know I could write a shell function, but that seems a bit much work for such a simple and common task.

Bazaar does support this to some degree using the bzr branch --switch notation.



Solution 1:[1]

While writing the question, and finding “What is the difference between "git branch" and "git checkout -b"?” in the list of similar questions, I found the answer myself:

$ git checkout -b new_branch_name

I guess I was reading the man page for the wrong command, I was expecting this as part of the branch command, not for checkout. Quoting the man page for checkout:

Specifying -b causes a new branch to be created as if git-branch(1) were called and then checked out.

Just what I was looking for.

Solution 2:[2]

There are two Oneliners at Git.

  1. git checkout -b new_branch_name.
  2. git switch -c new_branch_name

Under the hood, both do the same thing:

git branch new_branch_name
git checkout new_branch_name

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Community
Solution 2 Maik Lowrey