All Projects → git-tfs → Git Tfs

git-tfs / Git Tfs

Licence: apache-2.0
A Git/TFS bridge, similar to git-svn

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to Git Tfs

TfsCmdlets
PowerShell Cmdlets for Azure DevOps and Team Foundation Server
Stars: ✭ 75 (-95.68%)
Mutual labels:  tfs
Tfs
Mirror of https://gitlab.redox-os.org/redox-os/tfs
Stars: ✭ 2,890 (+66.47%)
Mutual labels:  tfs
Tfs
Microsoft TFS API Python client
Stars: ✭ 101 (-94.18%)
Mutual labels:  tfs
AzDo.VstsDashboard
Provide a simple way to view all Builds and Releases on a single page. The intend was to see what's currently happened into the CI/CD pipeline and provide quick feedback of what's going on.
Stars: ✭ 16 (-99.08%)
Mutual labels:  tfs
vsts-extension-multivalue-control
A work item form control which allows selection of multiple values.
Stars: ✭ 40 (-97.7%)
Mutual labels:  tfs
Git Credential Manager Core
Secure, cross-platform Git credential storage with authentication to GitHub, Azure Repos, and other popular Git hosting services.
Stars: ✭ 670 (-61.41%)
Mutual labels:  tfs
haystack bio
Haystack: Epigenetic Variability and Transcription Factor Motifs Analysis Pipeline
Stars: ✭ 42 (-97.58%)
Mutual labels:  tfs
Jira Azuredevops Migrator
Tool to migrate work items from Atlassian Jira to Microsoft Azure DevOps/VSTS/TFS.
Stars: ✭ 120 (-93.09%)
Mutual labels:  tfs
VS.DiffAllFiles
Visual Studio Extension to make comparing files before and after committing them to Git and TFS faster and easier.
Stars: ✭ 26 (-98.5%)
Mutual labels:  tfvc
Vscode Tfs
TFS extension for Visual Studio Code.
Stars: ✭ 64 (-96.31%)
Mutual labels:  tfs
Task-Card-Creator
Small tool for printing task cards used for a Scrum board. Your physical Scrum board will look fantastic. Supports Team Foundation Server and Azure DevOps.
Stars: ✭ 25 (-98.56%)
Mutual labels:  tfs
vsts-extension-color-control
This is an example of a custom control extension for use in on-premise instances of Visual Studio Team Services on the work item form.
Stars: ✭ 16 (-99.08%)
Mutual labels:  tfs
Vsts Workitem Recentlyviewed
An extension for the VSTS work item form that tracks and displays who viewed a work item and when.
Stars: ✭ 7 (-99.6%)
Mutual labels:  tfs
azure-boards-decompose
Azure Boards extension to quickly decompose work items into a valid hierarchy
Stars: ✭ 35 (-97.98%)
Mutual labels:  tfs
Gis
gis (go image server) go 实现的图片服务,实现基本的上传,下载,存储,按比例裁剪等功能
Stars: ✭ 108 (-93.78%)
Mutual labels:  tfs
wiql-editor
Search work items with wiql queries.
Stars: ✭ 30 (-98.27%)
Mutual labels:  tfs
Node Build Monitor
A Build Monitor written in Node.js, which supports several build services and can be easily extended.
Stars: ✭ 336 (-80.65%)
Mutual labels:  tfs
Vsts Work Item Migrator
WiMigrator is a command line tool for migrating work items between VSTS/TFS projects
Stars: ✭ 124 (-92.86%)
Mutual labels:  tfs
Tfsnotificationrelay
An extensible plugin for TFS that sends notifications to Slack, HipChat and IRC
Stars: ✭ 120 (-93.09%)
Mutual labels:  tfs
Aggregator Cli
A new version of Aggregator aiming at Azure DevOps (ex Visual Studio Team Services)
Stars: ✭ 54 (-96.89%)
Mutual labels:  tfs

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.

git-tfs version. See the change history for details and download.

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

We need your help

This project is no more actively maintained because we are no more users of TFS. Thus being very useful, git-tfs is not exempt of not supported use cases. If you encounter something missing or a problem, please contribute, we will be pleased to help you.

And remember:

The fastest way to get an issue fixed is to submit a PR that fixes it.

The slowest way to get it fixed is to hope someone else will fix it.

Get git-tfs

To get a stable version:

To get a development version

  • Build from source code. See §Building for more informations...
  • Download a package of the development version generated by the last builds (in the artifacts section).

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.6.2 and the 2012 or 2013 version of Team Explorer installed (or Visual Studio) depending on the version of TFS you want to target.

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

Note: Before cloning your repository, please have a look at the clone command doc or advanced use cases to discover options that could help you!

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

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

More advanced use cases

Have a look to more detailed git-tfs use cases:

Available commands / options

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

Repository setup

  • list-remote-branches: list tfs branches that can be cloned or initialized - since 0.17
  • clone: clone a tfs path/branch and its history in a git repository - since 0.9
  • quick-clone: clone a specific changeset of a tfs path/branch in a git repository - since 0.9
  • bootstrap: bootstrap an existing git-tfs repository cloned from an existing repository - since 0.11
  • init: initialize a git-tfs repository (without getting changesets) - since 0.9

Pull from TFS

  • clone: clone a tfs path/branch and its history in a git repository - since 0.9
  • fetch: get changesets from tfs and update the tfs remote - since 0.9
  • pull: get changesets from tfs, update the tfs remote and update your work - since 0.9
  • quick-clone: clone a specific changeset (without history) of a tfs path/branch in a git repository - since 0.9
  • unshelve: fetch a tfs shelvesets in your repository - since 0.11
  • shelve-list: list tfs shelvesets - since 0.12
  • labels: fetch tfs labels - since 0.17

Push to TFS

Read absolutely this if your TFVC repository use Checkin policies when check-in.

  • rcheckin: replicate your git commits as tfs changesets - since 0.12
  • checkin: checkin your git commits as one tfs changeset - since 0.10
  • checkintool: checkin in tfs using the tfs checkin dialog - since 0.10
  • shelve: create a shelveset from git commits - since 0.9
  • shelve-delete: delete a shelveset on tfs - since 0.25

Manage TFS branches

Other

  • info: get some informations about git-tfs and tfs

  • cleanup: clean some git-tfs internal objects - since 0.10

  • cleanup-workspaces: clean tfs workspaces created by git-tfs - since 0.10

  • help: get help on git-tfs commands - since 0.9

  • verify: verify the changesets fetched - since 0.11

  • autotag option - since 0.12

  • subtree: manage sparse tfs pathes with git-tfs - since 0.19

  • reset-remote: reset a tfs remote to a previous changeset to fetch again its history - since 0.19

  • checkout: checkout a commit by a changeset id - since 0.21

  • diagnostics (for git-tfs developers only) - since 0.9

  • config file

Building

Continuous Integration Status

AppVeyor build status ( Great thanks to AppVeyor! )

Prerequisites

  • MSBuild (included in .NET 4)
  • Visual Studio >= 2017 (preferably >= 2019)

Get the source code and build

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

#building with Cake (in a powershell console). It will also run the unit tests ;)
.\build.ps1

#help on the different targets
.\build.ps1 -Target "Help"

Note: if the build fails to build some GitTfs.Vs201x projects, just unload in Visual Studio all the projects you are not interested in to be able to build and use your own version. You could also install, the Team Foundation Server Object Model for Tfs 2012 (chocolatey) and Tfs 2013 (chocolatey).

Contributing

Contributions are always welcome. Thanks to all our contributors!

Please, read our short and simple guidelines and our doc on how to use paket, the package manager we use.

Especially, don't forget:

  • to run the build task .\build.ps1 -Target "FormatCode" before committing (to keep code formatting consistent, and pull request easier to review)
  • to indent your code using 4 spaces (even if .editorconfig should take care of that).

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

Drop in and chat in gitter We also have a mailing list.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].