tfs.md 1.9 KB
Newer Older
A
Achilleas Pipinellis 已提交
1 2
# Migrating from TFS

3
[TFS](https://visualstudio.microsoft.com/tfs/) is a set of tools developed by Microsoft
A
Achilleas Pipinellis 已提交
4 5 6 7 8 9 10 11 12 13 14 15 16
which also includes a centralized version control system (TFVC) similar to Git.

In this document, we emphasize on the TFVC to Git migration.

## TFVC vs Git

The following list illustrates the main differences between TFVC and Git:

- **Git is distributed** whereas TFVC is centralized using a client-server
  architecture. This translates to Git having a more flexible workflow since
  your working area is a copy of the entire repository. This decreases the
  overhead when switching branches or merging for example, since you don't have
  to communicate with a remote server.
17 18 19
- **Storage method.** Changes in CVS are per file (changeset), while in Git
  a committed file(s) is stored in its entirety (snapshot). That means that's
  very easy in Git to revert or undo a whole change.
A
Achilleas Pipinellis 已提交
20

21 22 23 24
Check also Microsoft's documentation on the
[comparison of Git and TFVC](https://docs.microsoft.com/en-us/azure/devops/repos/tfvc/comparison-git-tfvc?view=azure-devops)
and the Wikipedia
[comparison of version control software](https://en.wikipedia.org/wiki/Comparison_of_version_control_software).
A
Achilleas Pipinellis 已提交
25 26 27 28 29 30 31

## Why migrate

Migrating to Git/GitLab there is:

- **No licensing costs**, Git is GPL while TFVC is proprietary.
- **Shorter learning curve**, Git has a big community and a vast number of
32
  tutorials to get you started (see our [Git topic](../../../topics/git/index.md)).
A
Achilleas Pipinellis 已提交
33 34 35 36 37 38 39 40 41 42
- **Integration with modern tools**, migrating to Git and GitLab you can have
  an open source end-to-end software development platform with built-in version
  control, issue tracking, code review, CI/CD, and more.

## How to migrate

The best option to migrate from TFVC to Git is to use the
[`git-tfs`](https://github.com/git-tfs/git-tfs) tool. A specific guide for the
migration exists:
[Migrate TFS to Git](https://github.com/git-tfs/git-tfs/blob/master/doc/usecases/migrate_tfs_to_git.md).