在VisualStudio中切换Git和TFS源代码管理

在VisualStudio中切换Git和TFS源代码管理,git,visual-studio-2013,tfs,Git,Visual Studio 2013,Tfs,我需要同时运行TFS和Git。我需要在两者之间切换。Git已安装并配置为在本地运行。TFS在公司服务器上运行。如何在Visual Studio 2013中在这两种环境之间切换 如果git集成有所改进,我愿意切换到VS 2015 VS首先检测到Git,然后在“团队资源管理器”中切换到该源代码管理。我偶然发现了一种切换到TFS(我不记得了)的方法,现在我不知道如何切换回Git 如果您介意的话,我需要将Git与TFS并排运行,因为我不允许在TFS中创建分支,也不可能在主干中处理提交或管理N个搁置集。我

我需要同时运行TFS和Git。我需要在两者之间切换。Git已安装并配置为在本地运行。TFS在公司服务器上运行。如何在Visual Studio 2013中在这两种环境之间切换

如果git集成有所改进,我愿意切换到VS 2015

VS首先检测到Git,然后在“团队资源管理器”中切换到该源代码管理。我偶然发现了一种切换到TFS(我不记得了)的方法,现在我不知道如何切换回Git


如果您介意的话,我需要将Git与TFS并排运行,因为我不允许在TFS中创建分支,也不可能在主干中处理提交或管理N个搁置集。我将使用功能分支

如果您想使用TFS工作区并同时使用GIT,那么您可以使用团队资源管理器在它们之间切换。点击屏幕顶部的“插件”项,您可以在它们之间切换。屏幕截图来自VS 2015,但用户界面与2013年相比变化不大

如果要在本地计算机上独占使用git,但在服务器上推送到TFS,请查看“”

您可以将您的“主干”从TFS克隆到本地git repo,专门在git中工作,并使用功能分支等。当您的代码准备好发送回主干时,您可以重新设置基础并推送,即

git-tf克隆http://myserver:8080/tfs/mycollection $/TeamProjectA/Trunk

对Git repo中的文件进行更改

git commit-a-m“commit one”
(本地提交更改)

做更多的改变

git commit-a-m“commit two”

git-tf-pull——重新基址


git tf checkin

不是最优雅的解决方案,但它非常简单,不需要第三方工具(假设您已经有了git shell)。。。在启动studio之前,我只需将.git文件夹重命名为其他文件夹,它将使用TFS。一旦解决方案打开,您就可以将git文件夹重命名回“.git”,并通过bashshell执行任何与git相关的操作

mv .git git
(open the solution in VS)
mv git .git
此时,您可以通过IDE使用TFS签入/签出,并通过shell使用git推/拉


注意:您需要注意的一件事是,如果从git端添加了新文件(即通过git pull),Studio会将它们列在“排除的更改>检测:###添加”下,因此您必须“升级”它们。

我在尝试从git切换到TFS时遇到了很大的问题

即使尝试打开我的项目也会失败。。。所有解决方案或其项目都不会加载


最后,唯一有效的方法就是手动将(隐藏的).git文件夹移到别处。只有这样,我才能通过TFS打开项目,并看到友好的TFS上下文菜单项(“签入”,而不是“提交”,等等)

我一直遇到这个问题,因为在工作中我们使用TFS,我更喜欢使用git来本地跟踪文件。(希望在我的推动下,该公司很快将迁往git…)

我发现制作这些别名是可行的。 别名degit=“mv.git-git” 别名regit=“mv git.git”


在将TFS设置为源代码管理的VS2015发布之前,将您的回购文件按原样进行“degit”,一旦全部加载完毕,“regit”您的回购文件。似乎和我很合拍。尽管如此,我目前并没有使用git来推送到远程服务器。仍然使用TFS来实现这一点。

Git TFS与Git tf非常相似。Git TFS是不久前由第三方使用.net编写的。Git TF是由Microsoft使用Java编写的。微软自己编写的主要原因是提供了一个跨平台的解决方案,以便Linux/Mac操作系统的用户能够轻松地与TFS集成。当你在Windows上时,两者都可以工作。只需使用您喜欢的git tfs;-)这对我不起作用。我的解决方案(来自第三方开发人员)以前是git。当我使用Connect按钮并连接到内部TFS服务器时,它只会完全关闭解决方案。我想保持解决方案的开放性,但从git转移到TFS……我也遇到了同样的问题。我在TFS中有我的解决方案,希望在GitHub上有一个副本。没问题。一旦我尝试连接回TFS(使用上面建议的插头),它就会关闭我的解决方案。当我打开我的解决方案备份时,它再次连接到Git。冲洗,重复。我甚至尝试了工具->选项->源代码管理->TFS的当前插件。