Project Description
Git-TF is a set of cross-platform, command line tools that facilitate sharing of changes between TFS and Git.

These tools make it easy to clone sources from TFS, fetch updates from TFS, and update TFS with changes committed locally in Git.


Latest Release

Get the latest binary release from the Microsoft download page.  If you want the very latest bits then you could also build from the source.

Current Build: Git-TF 2.0.2

Git-TF 2.0.2 has been released to fix a couple of very important issues around connecting to your hosted instance at and in using Git-TF with the latest version of Java 7 from Oracle on Mac OS X.  In the 2.0 release, the highlights also include:

  • Add associated Work Item information to commit comments
  • Full support for shelvesets (Shelve, Unshelve, and listing Shelvesets)
  • Support for file and folder renames when shelving and checking in to TFS
  • Support for gated builds
  • Created a Chocolately package
  • Numerous bug fixes including some performance improvements

Installing Git-TF

The easiest way if you are a user of Chocolatey is to type “cinst Git-TF” at a command prompt on a machine where Chocolatey is installed.  But to set up Git-TF manually then do the following steps once you have installed Java:

  1. Extract the contents of to a folder on your local machine, i.e. C:\git-tf on Windows, or /user/git-tf on Mac/Linux.
  2. Add the path where you extracted Git-TF (i.e. C:\git-tf) to your PATH environment variable.
  3. Add the path where java.exe is installed (i.e. C:\Program Files (x86)\Java\jre7\bin) to your PATH environment variable.

Example Usage

Individual developer with a New Repo

A typical workflow for an individual developer using the Git-TF tools are as follows.

  1. git tf clone http://myserver:8080/tfs/mycollection $/TeamProjectA/Main
  2. Make changes to the file in the Git repo
  3. git commit -a -m "commit one" (commit changes locally)
  4. Make more changes
  5. git commit -a -m "commit two"
  6. git tf pull --rebase
  7. git tf checkin

Development Team with an Existing Repo

For a team working with an existing Git repo, a developer sharing changes to TFS using Git-TF would use the following workflow. For details, see Working with Teams.

  1. git tf configure http://myserver:8080/tfs/mycollection $/TeamProjectA/Main
  2. git tf pull
  3. git commit -a -m "merge commit"
  4. git tf checkin
  5. git push



Interested in contributing? Learn about how you can contribute.

Additional resources

Articles about Git-TF

Last edited Feb 15, 2013 at 4:47 PM by martin, version 22