Thursday, July 31, 2014

Team Foundation Server Git–Where are my branches?

As you probably already know, Team Foundation Server offers 2 options to store your source code; either through the ‘classic’ Team Foundation Server Version Control or through Git. I really like Git and the powerful features it offers, so if I have the choice I use Git as my preferred source control system.

For a project I’m working on I created a git repo with 2 branches on my Windows 8 development machine and pushed this repo to the origin TFS Git repo. I also have another PC where I still run Windows 7. So when I had to make a small change while I was using my Windows 7 machine so I cloned the TFS Git repo.

However when I opened up the solution in Visual Studio and wanted to switch between branches I only had one branch available!

Where is my other branch and how can I switch to it?

What I didn’t know is that when you do a clone in git, only one branch is created(generally master). To create a local branch for a branch that is not yet available on your machine, you’ll have to leave Visual Studio and use the good old command line:

git branch <branch-name> origin/<branch-name>

This command will create a new local branch using the remote's branch as the starting point.

Remark: The same thing is also possible by using the checkout command:

git checkout <original-remote-branch-name>

More information can be found in the following Stack Overflow post: http://stackoverflow.com/questions/67699/how-to-clone-all-remote-branches-with-git

No comments: