How do I push a new local branch to a remote Git repository and track it too?

git, git-branch, git-push, git-remote, repository

Solution

In Git 1.7.0 and later, you can checkout a new branch:

git checkout -b <branch>

Edit files, add and commit. Then push with the `-u` (short for `--set-upstream`) option:

git push -u origin <branch>

Git will set up the tracking information during the push.

Problem

How do I: Create a local branch from another branch (via `git branch` or `git checkout -b`). Push the local branch to the remote repository (i.e. publish), but make it trackable so that `git pull` and `git push` will work.

Original source

Related problems