转换TFS到Git

2017-07-11  本文已影响165人  灭蒙鸟

公司以前一直用TFS,管理源代码, 但是TFS开分支代价巨大, 需要复制整个源代码,非常的不方便, 而目前的开发方式越来越倾向于开很多分支,按需合并到主版本库. 使用TFS虽然可以实现一样的目的, 但是动辄几百M的分支(甚至几个G),导致不愿意开更多的branch.
而且目前很多CI工具对Git的支持明显更好.所以决定把TFS改为Git.
TFS的代码移动到Git很容易, 但是那些changeset怎么办?
下面是使用一个小工具,来把TFS上说有的版本变更信息转移到Git上.

  1. 首先下载一个git-tf工具(https://gittf.codeplex.com/), 按照网页上的说明配置好.(注意:需要安装java runtime)
  2. 使用下面的命令下载TFS的代码到一个目录, 注意要是用--deep命令,以便把所有的checkin信息拿下来
git-tf clone https://myaccount.visualstudio.com/DefaultCollection $/MyBigProject/MyMainBranch --deep

注意 $前面有空格 $开头的是TFS源代码所在路径

  1. 移除掉所有的*.vssscc文件
  2. 用编辑器(非VS)打开.sln文件, 移除 GlobalSection(TeamFoundationVersionControl)这一节
  3. 添加.gitignore和.gitattributes文件, 建议直接用VS创建一个git项目,然后从里面把这两个文件复制过来
git add .
git commit -a -m "initial commit after conversion"
  1. 增加ReadMe.MD文件(可加可不加)
  2. 把对应的代码checkin到git上
git push --mirror https://xxx(git地址)

现在回到git,你会看到所有的代码和历史信息都在里面

上一篇下一篇

猜你喜欢

热点阅读