How to git checkout a remote branch named the same as a directory?
We have a remote branch named
deploy for building and testing deploy scripts. Not surprisingly, the deploy scripts end up in a directory called
deploy. Now that the directory
deploy is in the branch
master, when doing an initial clone it’s cumbersome to actually check out that branch.
$ git clone bitbucket.org:/myplace/mything $ cd mything $ ls deploy extensions installExtensions src tests $ git branch -r | grep dep origin/deploy $ git checkout deploy $ git branch * master $ git checkout origin/deploy Note: checking out 'origin/deploy'. You are in 'detached HEAD' state. [SNIP]
At this point should I just create a local branch named
deploy and set it to track the remote? Is there any syntax I can give git so it knows I want to checkout a remote branch, not a local path?
2 Solutions collect form web for “How to git checkout a remote branch named the same as a directory?”
You could simply create a new local branch that points to the remote branch using either of these commands (the latter will check it out immediately):
git branch deploy origin/deploy git checkout -b deploy origin/deploy
This will however not set up the tracking functionality that happens when Git automatically creates a branch for a remote branch. To do that you have to do the following:
git branch -u origin/deploy
As an alternative, you can do this all in a single command, which is the same what Git would automatically do:
git checkout -b deploy --track origin/deploy
My workaround for this is
git checkout deploy --