Migration of source code from TFS to Git with all history

Hi Team,

I wanted to migrate source code from TFS to Git with all history. Kindly provide me the help to accomplish this or if not
all then how old history can be migrated?

Thanks & Regards,
Gopi Thakur

1 Like

Hi @gkrishnat 

You can use GitHub’s importer at https://github.com/new/import to import it straight into Github.


Hi There,

I followed the above link to download git-tfs and was able to install successfully with set path.

But I am getting the below error while migrating using clone command.

Command:- git tfs list-remote-branches http://tfs.fjt.fawex.com:8080/tfs/WebApp 

TFS branches that clould be cloned 

$/Folder1/Folder2/Project1 [*]

Cloning root branches <marked by [*]> is recommended!

Command:- git tfs clone http://tfs.fjt.fawex.com:8080/tfs/WebApp “$/Folder1/Folder2/Project1”

Error:- TFS repository can not be root and must start with “$/”.
You may be able to resolve this problem
-Try using $/C:/Program Files/Git/Folder1/Folder2/Project1

​​​​​​​Kindly help me in resolving this.

Thanks & Regards,
Gopi Thakur

Hi There,

MSYS_NO_PATHCONV=1 git tfs clone http://tfs.fjt.fawex.com:8080/tfs/WebApp “$/Folder1/Folder2/Project1”  -d
–branches=all --export --export-work-item-mapping=“d:\WorkItems\Mappings\workitems.txt”

The above git tfs command is successfully downloading the solutions in the local git repository. While downloading it is listing all the change sets that are available before migration.

But I faced 2 issues:- 

Issue 1:-

In Visual Studio Team Explorer there is an item called Local Git Repositories.It is listing the Local Git Repository Name and I right clicked the repository name where tfs project got migrated.
There were option to “Open Command Prompt”. I clicked that and I got the command prompt with the local repository path listed as a current path. Then I give the command git log --all.
It is first showing the few change sets but after keep on pressing the enter button gives all the change sets that were available before migration. That means all the change sets histories exists in the local path in windows machine.

It is showing the git-tfs-id like below for all the change sets.

git-tfs-id: [http://tfs.fjt.fawex.com:8080/tfs/WebApp]$/Folder1/Folder2/Project1;C1503

But in Solution Explorer, opening the .sln file for the same project from the local git repository and then Right click the project name(In the Solution Explorer Window)-> Source Control-> View History. It is showing less change sets.

Issue 2:-

d:\WorkItems\Mappings\workitems.txt is empty.

Thanks & Regards,

Gopi Thakur