Giter VIP home page Giter VIP logo

git-tfs's Introduction

Introduction

git-tfs is a two-way bridge between TFS (Team Foundation Server) and git, similar to git-svn. It fetches TFS commits into a git repository, and lets you push your updates back to TFS.

The most recent version is 0.20.0. See the change history for details.

If you're having problems, check out the troubleshooting page. And read how to report an issue, before doing so ;)

Get git-tfs

Three differents ways to get git-tfs:

Whatever the way you get git-tfs, you should have git-tfs.exe in your path (and git, too).

Add the git-tfs folder path to your PATH. You could also set it temporary (the time of your current terminal session) using :

set PATH=%PATH%;%cd%\GitTfs\bin\Debug

Use git-tfs

You need .NET 4 and either the 2010, 2012 or 2013 version of Team Explorer installed (or Visual Studio).

Help

#lists the available commands
git tfs help

#shows a summary of the usage of a given command
git tfs help <command>

Cloning

# [optional] find a tfs repository path to clone :
git tfs list-remote-branches http://tfs:8080/tfs/DefaultCollection

# clone the whole repository (wait for a while...) :
git tfs clone http://tfs:8080/tfs/DefaultCollection $/some_project

# or, if you're impatient (and want to work from the last changeset) :
git tfs quick-clone http://tfs:8080/tfs/DefaultCollection $/some_project

# or, if you're impatient (and want a specific changeset) :
git tfs quick-clone http://tfs:8080/tfs/DefaultCollection $/some_project -c=145

Working

cd some_project
git log # shows your TFS history, unless you did quick-clone
tf history # error: no workspace ;)

# [do work, do work, just using git], then...
# gets latest from TFS to the branch tfs/default :
git tfs fetch

Checkin

# report all the commits on TFS :
git tfs rcheckin

# or commit using the tfs checkin window
git tfs checkintool 

# or commit with a message
git tfs checkin -m "Did stuff"

# or shelve your changes :
git tfs shelve MY_AWESOME_CHANGES

You could find more interesting use cases on how to use git-tfs.

git-tfs is designed to work outside of any existing TFS workspaces.

Available commands / options

This is the complete list of commands in the master branch on github.

Repository setup

Pull from TFS

Push to TFS

Manage TFS branches

Other

Building

Prerequisites

  • MSBuild (included in .NET 4)

And depending of the version of TFS you use :

Get the source code and build

#get the source code
git clone --recursive git://github.com/git-tfs/git-tfs.git
cd git-tfs

#building with MSBuild (with the default configuration)
msbuild GitTfs.sln

#or building with MSBuild in debug
msbuild GitTfs.sln /p:Configuration=debug

#or building with MSBuild in release
msbuild GitTfs.sln /p:Configuration=release

#or with Rake (Ruby)
rake build:debug

Note : if the build fails because it can't find libgit2sharp dependency, update submodules with git submodule update

Contributing

Contributions are always welcome.

There are some simple guidelines.

Especially, don't forget to set core.autocrlf to true. (git config core.autocrlf true)

Migrations

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.

Community

#git-tfs on FreeNode, and the mailing list

Build Status

Thanks to travis-ci and jetbrains (teamcity) for providing CI!

git-tfs's People

Contributors

cameronism avatar caseykramer avatar danrigby avatar davidalpert avatar dougwebb avatar edwinf avatar gburgett avatar gyoshev avatar irontoby avatar ivan-danilov avatar jamesdunne avatar jbogard avatar jru avatar ketiko avatar kgybels avatar kinddragon avatar mpareja avatar oklemencic avatar patthoyts avatar pmiossec avatar radnor avatar rbanks54 avatar rbirkby avatar rcuhljr avatar rezun avatar roend83 avatar sc68cal avatar spraints avatar thomaswurtz avatar xelibrion avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.