Everything you want to know about Visual Studio ALM and Farming
Brian Harry is a Microsoft Technical Fellow working as the Product Unit Manager for Team Foundation Server. Learn more about Brian.
More videos »
Distributed Version Control (DVCS) has a growing following. It enables a set of workflows that can be very handy and Git is an increasingly popular DVCS solution. Today, we are announcing Git-tf, a solution that enables you to work locally with a Git repo – edit, commit, revert, branch, merge, etc. and then “sync up” with a central TFS repository. In this way, you can have the best of both DVCS and TFS.
Git-tf works great in hybrid teams. You may have a TFS project that’s been running for a while. Most of your dev team is using our Visual Studio or Eclipse integration and perfectly happy. At the same time, you’ve got a few people who want or need to use Git. Maybe they are the XCode developers on the team and they like the native Git integration in the XCode IDE. Git-tf allows them to work with XCode’s Git integration and collaborate with other team members through TFS.
The integration takes the form of a new command line tool called “Git-tf”. Git-tf works with a standard Git install and getting started is super easy. Just visit our download page and checkout Git-TF_Getting_Started.html. Installing Git-tf is as simple as unzipping the Zip. At the moment Git-tf won’t work with Team Foundation Service – it will only work with an on premises TFS server – either 2008, 2010 or 2012. However we are working on adding support for Team Foundation Service and I expect it will be available in the next sprint deployment.
Here’s a short video done by Matt Mitrik and Brian Keller with some info and a nice demo – it’s about 15 minutes. Note, the TFSPreview support demoed isn’t quite available yet – but it will be soon. For now you can use it with your on premises TFS.
Once you’ve installed Git and Git-tf, you can create a local Git repo from a TFS server with git tf clone. You can always pull down the latest changes from TFS with “git tf fetch” and you can check your local Git changes into TFS with git tf checkin. Below is a screenshot showing the list of currently supported commands.
Git-tf is a cross platform implementation so it will run on Windows, Mac, Linux, etc.
In addition to releasing the Git-tf tool today on our download center, we are also launching a Git-tf open source project so that the community can build upon it and make it better. We plan to be actively involved in the future of the OSS project so we are really looking forward to working with you on it. Check out the new project on Codeplex.
If you already live in both the Git and TFS worlds, this new tool may look eerily like the existing Git-tfs OSS project. Well, you are right – they are very similar. As starting a new OSS project that’s very like another is generally considered pretty bad form, I want to say a few words about this. When we decided that we really wanted to have a good Git/TFS integration solution, the first thing we thought of was to reach out to Matt Burke who owns the existing Git-tfs solution. Matt Mitrik had a great conversation with him about what we were looking to do and the general direction he was taking the project. One of our big requirements was to create a cross platform solution that works just as well on Windows, Linux or MacOS. That really wasn’t in the sights for the existing Git-tfs project and, together, we agreed that separate, cross platform solution made sense. Hence Git-tf was born.
We hope you are going to like it and encourage you to give it a try – it’s a great way to get the best of both DVCS and TFS’s integrated lifecycle management capabilities. As always, we are eager to hear your feedback.