是否可以在同一解决方案中混合使用TFS和GIT Extensions / TortoiseGit?

时间:2015-06-22 12:32:10

标签: git visual-studio-2013 tfs tortoisegit

我正在使用 Visual Studio 2013 Pro - 由于我无法控制的原因,我们不得不使用TFS作为主要的源代码控制系统,我想知道 - 是否可以使用TFS和其中一个其他源控制提供商是这样的:

  1. 获取最新的" DEV"来自TFS
  2. 以某种方式将Visual Studio中解决方案的源代码控制提供程序更改为Git SCP之一
  3. 为您的更改创建分支,基本上在Git上本地工作
  4. 当需要登记TFS时,切换回TFS SCP并提交更改,然后返回Git SCP
  5. 不幸的是,当我只是尝试切换时,我收到以下消息:

    "活动解决方案或项目由与您选择的插件不同的源控件插件控制。如果更改源控件插件,将关闭活动解决方案或项目。你想继续吗?"

    我试过"作弊" Visual Studio通过手动创建git存储库(通过手动 - 我的意思是从Windows资源管理器),并以这种方式提交更改 - 不幸的是,Visual是聪明的(或者说相当愚蠢)足以检测.git目录,并自动切换到Git SCP - 没有选项返回TFS(除非您希望每次切换时都将项目重新添加到TFS。)。

    有人知道如何在同一解决方案中使用TFS和Git吗?

1 个答案:

答案 0 :(得分:1)

查看Git-tfs(仅适用于Windows)。如果使用Mac-OS搜索Git-tf。

解决方案可能是将.git文件夹移出到外部文件夹,并将git目录指向实际源代码文件夹,如Tiago Salgado所述

一个例子是:
D:\ Git \(我存储了每个项目的不同.git存储库)

-- D:\Git\ProjectOne\.git 
-- D:\Git\ProjectTwo\.git 

D:\ Code(我有所有项目的源代码)

-- D:\Code\ProjectOne\.git (this is a file, not a folder anymore) 
-- D:\Code\ProjectTwo\.git (this is a file, not a folder anymore) 

因此,必须将此.git文件生成为:

$ echo "gitdir: /git/ProjectOne/.git" > .git

执行此操作后,您可以打开Visual Studio,默认情况下将选择TFS。您仍然可以像以前一样运行“git status”或任何git命令。