-
Notifications
You must be signed in to change notification settings - Fork 0
Home
git-tfs is a two-way bridge between TFS and git, similar to git-svn. It fetches TFS commits into a git repository, and lets you push your updates back to TFS.
Either download a binary, or build from source:
git clone git://github.com/spraints/git-tfs.git
cd git-tfs
msbuild GitTfs.sln
set PATH=%PATH%;%cd%\GitTfs\bin\Debug
The last step adds git-tfs.exe to your path. If you download a package, you'll need to complete this step, too.
git tfs clone http://tfs:8080/tfs/DefaultCollection $/some_project
# wait for a while, or, if you're impatient:
git tfs quick-clone http://tfs:8080/tfs/DefaultCollection $/some_project
cd some_project
git log # shows your TF history, unless you did quick-clone
tf history # error: no workspace
# do work, just using git
git tfs fetch # gets latest from TF to the branch tfs/default
git tfs shelve MY_AWESOME_CHANGES
git-tfs is designed to work outside of any existing TFS workspaces.
This is the complete list of commands in the master branch on github.
- bootstrap - since 0.11
- clone - since 0.9
- init - since 0.9
- quick-clone - since 0.9
- clone - since 0.9
- fetch - since 0.9
- pull - since 0.9
- quick-clone - since 0.9
- checkin - since 0.10
- checkintool - since 0.10
- rcheckin - not in a release yet
- shelve - since 0.9
- cleanup - since 0.10
- cleanup-workspaces - since 0.10
- diagnostics - since 0.9
- help - since 0.9
- verify - since 0.11
- autotag option - not in release yet
Check out the README.
If you're migrating a TFS server from 2008 or 2005 to 2010, you might want to Specify Alternate TFS URLs.
If you have questions or suggestions about how we could improve git-tfs you could go to google group.
Example of setting up central git repository that tracks TFS automatically.