转换TFS到Git
2017-07-11 本文已影响165人
灭蒙鸟
公司以前一直用TFS,管理源代码, 但是TFS开分支代价巨大, 需要复制整个源代码,非常的不方便, 而目前的开发方式越来越倾向于开很多分支,按需合并到主版本库. 使用TFS虽然可以实现一样的目的, 但是动辄几百M的分支(甚至几个G),导致不愿意开更多的branch.
而且目前很多CI工具对Git的支持明显更好.所以决定把TFS改为Git.
TFS的代码移动到Git很容易, 但是那些changeset怎么办?
下面是使用一个小工具,来把TFS上说有的版本变更信息转移到Git上.
- 首先下载一个git-tf工具(https://gittf.codeplex.com/), 按照网页上的说明配置好.(注意:需要安装java runtime)
- 使用下面的命令下载TFS的代码到一个目录, 注意要是用--deep命令,以便把所有的checkin信息拿下来
git-tf clone https://myaccount.visualstudio.com/DefaultCollection $/MyBigProject/MyMainBranch --deep
注意 $前面有空格 $开头的是TFS源代码所在路径
- 移除掉所有的*.vssscc文件
- 用编辑器(非VS)打开.sln文件, 移除 GlobalSection(TeamFoundationVersionControl)这一节
- 添加.gitignore和.gitattributes文件, 建议直接用VS创建一个git项目,然后从里面把这两个文件复制过来
git add .
git commit -a -m "initial commit after conversion"
- 增加ReadMe.MD文件(可加可不加)
- 把对应的代码checkin到git上
git push --mirror https://xxx(git地址)
现在回到git,你会看到所有的代码和历史信息都在里面