I\'ve seen this command floating around on various sites.
git checkout --track -b <...>
If I create a bare repo on a remote server and wor
When you use
git checkout --track -b local_branch_name origin/remote_branch_name
(usually with 'local_branch_name' the same as 'remote_branch_name', for which shortcut exists:
"git checkout -b --track origin/branch_name"), it means that you create local branch named 'local_branch_name', on which you can create commits, for which the upstream branch would be remote-tracking branch named 'remote_branch_name' (which tracks/follows this remote-tracking branch).
You need to remember that you can't commit directly on 'origin/remote_branch_name'; this remote-tracking branch is meant to track progress of 'remote_branch_name' branch in remote 'origin' ('origin' is default name of remote you cloned from).
The command above will not work if you're not in a repository. To work with git, you must always first create a repository, either by cloning one which already exists or using git-init
and starting from scratch.
git checkout --track -b <branch> <remote-branch>
git checkout --track <remote-branch>
These two commands create a new local branch to track <remote-branch>
. The first one manually names it <branch>
; the second uses the same name as the remote.
Remember that tracking doesn't mean automatic update - it simply does things like specifying where the branch should push/pull from and letting git status give those "your branch is behind origin/master by 5 commits, and can be fast-forwarded" messages.
You clone a repository, but you track a branch. The checkout command you posted is not complete:
git checkout --track -b new_local_branch_name origin/remote_branch_name
Thus the required steps would be: