准备工具:

  • https://github.com/git-tfs/git-tfs

具体的安装步骤上面的 readme.md 中有说明。通过 Chocolatey 安装,如果本地没有 git ,会自动安装 git 到本地。

迁移步骤:

  1. 从 Visual Studio 里面进入 Source Control Explorer,从左侧选择要迁移的项目,然后点击鼠标右键选择  Branching and Merging 再选择 Convert to Branch...,弹出对话框,选择是。(注:这一步很重要,没有这一步,将无法完成接下来的迁移操作)
  2. 打开 git-bash,通过命令:git tfs list-remote-branches http://tfs:8080/tfs/your_collection_name/ 可以查看到有哪些分支(类似 git branch 命令)。(注:会提示用户输入TFS 的用户名和密码)
  3. 使用命令迁移源代码:MSYS_NO_PATHCONV=1 git tfs clone http://tfs:8080/tfs/your_collection_name/ "$/your_collection_name/your_branch_name" -d (注:会再次提示输入 TFS 的用户名和密码,不会记忆)
  4. 用文本编辑器(如:Notepad++)打开 sln 文件,移除 GlobalSection(TeamFoundationVersionControl) 这一节。
  5. 迁移完成。

示例:

MSYS_NO_PATHCONV= git tfs clone http://tfs:8080/tfs/DefaultCollection $/your_project_branch
$/your_project_branch 表示的是TFS上面项目的位置,可以使用英文 "" (引号)括起来,也可以不要
上面的示例 $ 前面要有个空格

从 TFS 迁移源代码到 git的更多相关文章

  1. git与svn, tfs等源代码管理器的协同

    简单地说,这三个都是业界知名的源代码管理器.他们是有区别的,根本的区别在于git是分布式源代码管理器(每个本地都有完整的代码,及历史),而svn和tfs是集中式源代码管理器(只有服务器才有完整的历史, ...

  2. vs签入签出--TFS进行源代码管理

    工作项是项目管理的基本元素.工作项说明了要做什么事(例如任务),出了什么问题(例如Bug),除此之外,我们还需要将程序一行一行地写出来,TFS的源代码管理控制系统,就能帮助我们管理这一行行的代码,一个 ...

  3. iOS开发——源代码管理——git(分布式版本控制和集中式版本控制对比,git和SVN对比,git常用指令,搭建GitHub远程仓库,搭建oschina远程仓库 )

    一.git简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的   git的起源 作者是Linux之父:Linus Bened ...

  4. 无法将从VSS中的解决方案添加到TFS的源代码管理器中

    VSS是一种非常有用的项目文件管理工具,百度百科的解释是:VSS 的全称为 Visual Source Safe .作为 Microsoft Visual Studio 的一名成员,它主要任务就是负责 ...

  5. Kafka Topic动态迁移 (源代码解析)

    总结下自己在尝试Kafka分区迁移过程中对这部分知识的理解,请路过高手指正. 关于Kafka数据迁移的具体步骤指导,请参考如下链接:http://www.cnblogs.com/dycg/p/3922 ...

  6. 源代码安装GIT

    参考URL:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=25150840&id=4250659 若是条件允许,从源代 ...

  7. 简单使用TFS管理源代码

    今天研究使用了一下TFS,主要是想管理源代码.不涉汲团队管理. 使用环境W10专业版  / VS2017 社区版 / SQLSERVER2016  / TFS2017 EXPRESS版本 1.下载和安 ...

  8. linux下从源代码安装git

    之所以有这样的需求,是因为部分预安装的git版本太低,很多功能没有并且安全性存在问题. 比如git submodule add xxx@host:yyy.git必须在父repo的root目录安装,而新 ...

  9. visual studio 版本管理从tfs迁移到svn

    1.首先要解除解决方案的tfs绑定 清除(删除)项目下的所有版本控制文件,这些文件有:*.vssscc,*.vspscc 删除这些版本控制文件比较简单,搜索这些后缀的文件,删除即可. 修改项目的解决方 ...

随机推荐

  1. 关于js中原生构造函数的继承

    前言 在如今快节奏的工作当中,很多基础的东西会渐渐地被丢掉.就如继承这个话题,写React的同学应该都是class xxx extends React.Component,然而这可以理解为es5的一个 ...

  2. 使用LAP数据集进行年龄训练及估计

    一.背景 原本是打算按<DEX Deep EXpectation of apparent age from a single image>进行表面年龄的训练,可由于IMDB-WIKI的数据 ...

  3. NetCore部署到Linux服务器+Supervisor的步骤及过程中踩过的坑

    本文作备忘使用 服务器配置: 下面是所有操作的具体步骤: 1.安装nginx   参考 1.1 添加源:默认情况Centos7中没有Nginx源,最近Nginx官网提供了Centos的源地址. sud ...

  4. 【java】java三种技术架构

    JAVAEE : 企业环境下开发应用程序,servlet,jsp,针对web应用程序的开发. JAVASE:普通简单的桌面应用程序,商务应用程序.(java版扫雷) JAVAME手机应用软件,电子消费 ...

  5. Skin Microstructure Deformation with Displacement Map Convolution项目小结

    经常有人问我你最近在干什么,但一句话真的很难说明白,最近两个月一直在尝试将Skin Microstructure Deformation with Displacement Map Convoluti ...

  6. ssh 端口转发实践

    A: 172.28.92.114 本地主机B: 172.28.92.117 中间主机C: 172.28.92.118 目的主机 (这里名字叫目的主机更合适,原先把这里叫成远程主机,导致我一直认为远程端 ...

  7. Nuget调用简单封装.

    1. 项目引用Dapper作为直接访问, 为了使用方便, 封装一下.达到效果: - 数据库连接配置在webconfig.xml中.  - 常用调用方法封装. 调用: //可以采用单例模式. //全局实 ...

  8. Egret飞行模拟-开发记录03-LoadingUI界面

    一.非EUI方式 1.LoadingUI里的代码.class LoadingUI extends egret.Sprite implements RES.PromiseTaskReporter { p ...

  9. python 常用技巧

    一.字符串与数值的转换 Python中字符串转换为数值: str_num = '99' num = int(str_num) 整型数转换为字符串: num = 99 str_num = str(num ...

  10. 一次请求中,经过 nginx+uWSGI+flask应用程序搭建服务的执行过程

    Flask框架有自带的http server,但是缺点非常明显,并发能力,及时响应非常差,只适合开发时自测使用. 在我接触过的项目中,生产环境使用nginx+uWSGI+flask应用程序进行部署服务 ...