{"id":13458275,"url":"https://github.com/git-tfs/git-tfs","last_synced_at":"2025-04-11T16:35:27.252Z","repository":{"id":614472,"uuid":"252774","full_name":"git-tfs/git-tfs","owner":"git-tfs","description":"A Git/TFS bridge, similar to git-svn","archived":false,"fork":false,"pushed_at":"2024-08-10T22:16:57.000Z","size":10833,"stargazers_count":1946,"open_issues_count":120,"forks_count":719,"subscribers_count":80,"default_branch":"master","last_synced_at":"2025-04-11T16:34:50.630Z","etag":null,"topics":["c-sharp","git","libgit2sharp","tfs","tfs-api","tfvc"],"latest_commit_sha":null,"homepage":"http://git-tfs.com/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/git-tfs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2009-07-16T15:36:26.000Z","updated_at":"2025-04-11T07:22:42.000Z","dependencies_parsed_at":"2024-03-19T16:01:30.069Z","dependency_job_id":"0585b4b6-3afa-47c5-af38-9d42bdb1694c","html_url":"https://github.com/git-tfs/git-tfs","commit_stats":null,"previous_names":[],"tags_count":46,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/git-tfs%2Fgit-tfs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/git-tfs%2Fgit-tfs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/git-tfs%2Fgit-tfs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/git-tfs%2Fgit-tfs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/git-tfs","download_url":"https://codeload.github.com/git-tfs/git-tfs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248441403,"owners_count":21103986,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-sharp","git","libgit2sharp","tfs","tfs-api","tfvc"],"created_at":"2024-07-31T09:00:49.377Z","updated_at":"2025-04-11T16:35:27.231Z","avatar_url":"https://github.com/git-tfs.png","language":"C#","funding_links":[],"categories":["C\\#","C# #","C#"],"sub_categories":[],"readme":"## Introduction\n\n[git-tfs](http://git-tfs.com/) is a two-way bridge between TFS (Team Foundation Server) and git, similar to git-svn.\nIt fetches TFS commits into a git repository, and lets you push your updates back to TFS.\n\n[![git-tfs version](https://img.shields.io/github/release/git-tfs/git-tfs.svg?label=Latest%20Version:)](https://github.com/git-tfs/git-tfs/releases). See the [change history](https://github.com/git-tfs/git-tfs/releases) for details and download.\n\nIf you're having problems, check out the [troubleshooting](doc/TROUBLESHOOTING.md) page.\nAnd read [how to report an issue](doc/reporting-issues.md), before doing so ;)\n\n## We need your help\n\nThis project is no more **actively** maintained because we are no more users of TFS.\nThus being very useful, git-tfs is not exempt of not supported use cases.\nIf you encounter something missing or a problem, please contribute, we will be pleased to help you.\n\nAnd remember:\n\n\u003eThe fastest way to get an issue fixed is to submit a PR that fixes it.\n\n\u003eThe slowest way to get it fixed is to hope someone else will fix it.\n\n## Get git-tfs\n\nTo get a stable version:\n\n* Download a binary. Find it on the [release page](https://github.com/git-tfs/git-tfs/releases),\n* Using Chocolatey. If [Chocolatey](http://chocolatey.org/) is already installed on your computer, run `choco install gittfs` to install the [Chocolatey package](http://chocolatey.org/packages/gittfs)\n\nTo get a development version\n\n* Build from source code. See §[Building](#building) for more informations...\n* Download a package of the development version generated by the [last builds](https://ci.appveyor.com/project/pmiossec/git-tfs-v2qcm/branch/master/artifacts) (in the artifacts section).\n\n__Whatever the way you get git-tfs, you should have git-tfs.exe in your path (and git, too)__.\n\nAdd the git-tfs folder path to your PATH. You could also set it temporary (the time of your current terminal session) using :\n\n    set PATH=%PATH%;%cd%\\GitTfs\\bin\\Debug\n\n## Use git-tfs\n\nYou 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.\n\n### Help\n\n    #lists the available commands\n    git tfs help\n\n    #shows a summary of the usage of a given command\n    git tfs help \u003ccommand\u003e\n\n### Cloning\n\n    # [optional] find a tfs repository path to clone :\n    git tfs list-remote-branches http://tfs:8080/tfs/DefaultCollection\n\n    # clone the whole repository (wait for a while...) :\n    git tfs clone http://tfs:8080/tfs/DefaultCollection $/some_project \u003cdist_folder_where_to_clone\u003e\n\n    # or, if you're impatient (and want to work from the last changeset) :\n    git tfs quick-clone http://tfs:8080/tfs/DefaultCollection $/some_project \u003cdist_folder_where_to_clone\u003e\n\n    # or, if you're impatient (and want a specific changeset) :\n    git tfs quick-clone http://tfs:8080/tfs/DefaultCollection $/some_project -c=145\n\n**Note:** Before cloning your repository, please have a look at the [clone command doc](doc/commands/clone.md) or [advanced use cases](#more-advanced-use-cases) to discover options that could help you!\n\n### Working\n\n    cd some_project\n    git log # shows your TFS history, unless you did quick-clone\n    tf history # error: no workspace ;)\n\n    # [do work, do work, just using git], then...\n    # gets latest from TFS to the branch tfs/default :\n    git tfs fetch\n\n### Checkin\n\n    # report all the commits on TFS :\n    git tfs rcheckin\n\n    # or commit using the tfs checkin window\n    git tfs checkintool\n\n    # or commit with a message\n    git tfs checkin -m \"Did stuff\"\n\n    # or shelve your changes :\n    git tfs shelve MY_AWESOME_CHANGES\n\ngit-tfs is designed to work outside of any existing TFS workspaces.\n\n### More advanced use cases\n\nHave a look to more detailed git-tfs use cases:\n\n* [Working with no branches](doc/usecases/working_with_no_branches.md)\n* [Manage TFS branches with git-tfs](doc/usecases/manage_tfs_branches.md)\n* [Migrate your history from TFSVC to a git repository](doc/usecases/migrate_tfs_to_git.md)\n* [Working with shelvesets](doc/usecases/working_with_shelvesets.md)\n* [Git (ProGit v2 book)](https://git-scm.com/book/en/v2)\n* [Last ProGit2 release to cover Git Tfs and migration](https://github.com/progit/progit2/releases/tag/2.1.245)\n\n## Available commands / options\n\nThis is the complete list of commands in the master branch on github.\n\n### Repository setup\n\n* [list-remote-branches](doc/commands/list-remote-branches.md): *list tfs branches that can be cloned or initialized* - since [0.17](../../releases/tag/v0.17.0)\n* [clone](doc/commands/clone.md): *clone a tfs path/branch and its history in a git repository* - since 0.9\n* [quick-clone](doc/commands/quick-clone.md): *clone a specific changeset of a tfs path/branch in a git repository* - since 0.9\n* [bootstrap](doc/commands/bootstrap.md): *bootstrap an existing git-tfs repository cloned from an existing repository* - since [0.11][v0.11]\n* [init](doc/commands/init.md): *initialize a git-tfs repository (without getting changesets)* - since 0.9\n\n### Pull from TFS\n\n* [clone](doc/commands/clone.md): *clone a tfs path/branch and its history in a git repository* - since 0.9\n* [fetch](doc/commands/fetch.md): *get changesets from tfs and update the tfs remote* - since 0.9\n* [pull](doc/commands/pull.md): *get changesets from tfs, update the tfs remote and update your work* - since 0.9\n* [quick-clone](doc/commands/quick-clone.md): *clone a specific changeset (without history) of a tfs path/branch in a git repository* - since 0.9\n* [unshelve](doc/commands/unshelve.md): *fetch a tfs shelvesets in your repository* - since [0.11][v0.12]\n* [shelve-list](doc/commands/shelve-list.md): *list tfs shelvesets* - since [0.12][v0.12]\n* [labels](doc/commands/labels.md): *fetch tfs labels* - since [0.17](../../releases/tag/v0.17.0)\n\n### Push to TFS\n\n⚠ Read absolutely [this](doc/using-checkin-policies.md) if your TFVC repository use **Checkin policies** when check-in.\n\n* [rcheckin](doc/commands/rcheckin.md): *replicate your git commits as tfs changesets* - since [0.12][v0.12]\n* [checkin](doc/commands/checkin.md): *checkin your git commits as one tfs changeset* - since 0.10\n* [checkintool](doc/commands/checkintool.md): *checkin in tfs using the tfs checkin dialog* - since 0.10\n* [shelve](doc/commands/shelve.md): *create a shelveset from git commits* - since 0.9\n* [shelve-delete](doc/commands/shelve-delete.md): *delete a shelveset on tfs* - since 0.25\n\n### Manage TFS branches\n\n* [list-remote-branches](doc/commands/list-remote-branches.md): *list tfs branches that can be cloned or initialized* - since [0.17](../../releases/tag/v0.17.0)\n* [branch](doc/commands/branch.md): *manage (initialize, create, remove) tfs branches* - since [0.17](../../releases/tag/v0.17.0)\n\n### Other\n\n* [info](doc/commands/info.md): *get some informations about git-tfs and tfs*\n* [cleanup](doc/commands/cleanup.md): *clean some git-tfs internal objects* - since 0.10\n* [cleanup-workspaces](doc/commands/cleanup-workspaces.md): *clean tfs workspaces created by git-tfs* - since 0.10\n* [help](doc/commands/help.md): *get help on git-tfs commands* - since 0.9\n* [verify](doc/commands/verify.md): *verify the changesets fetched* - since [0.11][v0.11]\n* [autotag](doc/config.md#per-tfs-remote) option - since [0.12][v0.12]\n* [subtree](doc/commands/subtree.md): *manage sparse tfs pathes with git-tfs* - since [0.19](../../releases/tag/v0.19.0)\n* [reset-remote](doc/commands/reset-remote.md): *reset a tfs remote to a previous changeset to fetch again its history* - since [0.19](../../releases/tag/v0.19.0)\n* [checkout](doc/commands/checkout.md): *checkout a commit by a changeset id* - since [0.21](../../releases/tag/v0.21.0)\n* diagnostics (for git-tfs developers only) - since 0.9\n\n* [config file](doc/config.md)\n* For authentification with user credentials or using a PAT, [clone](doc/commands/clone.md#Authentication) command.\n\n## Building\n\n### Continuous Integration Status\n\n[![AppVeyor build status](https://ci.appveyor.com/api/projects/status/github/git-tfs/git-tfs?branch=master\u0026svg=true\u0026passingText=build%20%27master%27%20OK)](https://ci.appveyor.com/project/pmiossec/git-tfs-v2qcm/branch/master)\n( Great thanks to [\u003cimg src=\"https://www.appveyor.com/assets/img/favicons/favicon.ico\" height=\"20\"\u003e AppVeyor](http://www.appveyor.com/)! )\n\n### Prerequisites\n\n* MSBuild (included in .NET 4)\n* Visual Studio \u003e= 2017 (preferably \u003e= 2019)\n\n### Get the source code and build\n\n    #get the source code\n    git clone git://github.com/git-tfs/git-tfs.git\n    cd git-tfs\\src\n\n    #building with Cake (in a powershell console). It will also run the unit tests ;)\n    .\\build.ps1\n\n    #help on the different targets\n    .\\build.ps1 -Target \"Help\"\n\n**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.\nYou could also install, the Team Foundation Server Object Model for [Tfs 2012](https://visualstudiogallery.msdn.microsoft.com/f30e5cc7-036e-449c-a541-d522299445aa) ([chocolatey](https://chocolatey.org/packages/tfs2012objectmodel)) and [Tfs 2013](https://visualstudiogallery.msdn.microsoft.com/3278bfa7-64a7-4a75-b0da-ec4ccb8d21b6) ([chocolatey](https://chocolatey.org/packages/tfs2013objectmodel)).\n\n## Contributing\nContributions are always welcome. Thanks to all our [contributors](https://github.com/git-tfs/git-tfs/graphs/contributors)!\n\nPlease, read our short and simple [guidelines](CONTRIBUTING.md) and our doc on how to use [paket](doc/paket.md), the package manager we use.\n\nEspecially, don't forget:\n\n* to run the build task `.\\build.ps1 -Target \"FormatCode\"` before committing (to keep code formatting consistent, and pull request easier to review)\n* to indent your code using 4 spaces (even if `.editorconfig` should take care of that).\n\n## Migrations\nIf you're migrating a TFS server from 2008 or 2005 to 2010, you might want to [Specify Alternate TFS URLs](doc/specify-alternate-tfs-urls.md).\n\n[v0.11]: http://mattonrails.wordpress.com/2011/03/11/git-tfs-0-11-0-release-notes/ \"0.11 Release notes\"\n[v0.12]: http://sparethought.wordpress.com/2011/08/10/git-tfs-bridge-v0-12-released/\n\nIf you have questions or suggestions about how we could improve git-tfs you could go to [google group](http://groups.google.com/group/git-tfs-dev).\n\n[Example](http://sparethought.wordpress.com/2011/07/18/how-to-establish-git-central-repository-for-working-against-tfs-with-git-tfs-bridge/) of setting up central git repository that tracks TFS automatically.\n\n## Community\n\nDrop in and chat in [![gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/git-tfs/git-tfs?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\nWe also have a [mailing list](https://groups.google.com/group/git-tfs-dev).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgit-tfs%2Fgit-tfs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgit-tfs%2Fgit-tfs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgit-tfs%2Fgit-tfs/lists"}