6

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 Answers 2

11

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 
Sign up to request clarification or add additional context in comments.

1 Comment

'git checkout --track origin/deploy' works fine for me, I don't need the -b flag.
6

My workaround for this is

git checkout deploy --

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.