J.M*_*ill 7 git tfs visual-studio visual-studio-2013
我开始在本地处理一些代码并使用Git(Git Gui和命令行)来管理它.我现在被要求将项目放入TFS"at corporate".我可以使用VPN连接远程访问TFS.
对于VS,代码是具有多个项目的单个解决方案.我使用VS成功地将解决方案添加到TFS,它似乎找到所有项目并将其.csproj文件和所有代码添加到TFS源代码控制.
后来,当没有连接到TFS(VPN off)时,我做了一个简单的更改并将其提交到我的本地Git存储库.我只有挫折试图(连接到VPN并尝试将更改提交到TFS).
我启动Visual Studio.有一个"团队资源管理器 - 主页"选项卡显示"主页|离线".我检查工具/选项/源代码控制,TFS是当前版本控制提供程序.
我单击团队资源管理器工具栏上的"插件"图标; 它会记住连接,现在显示"Connect | Offline"; 下面是一个包含"选择团队项目..."链接的行,以及两个在每个部分旁边都有向下三角形的部分.一个具有TFS服务器名称(后跟(1)); 在那之下是(仅)"团队项目"的名称,其中存储在TFS中.另一部分有"Local Git Repositories(1)",并显示解决方案的名称,并在其旁边显示解决方案目录的路径.标签标题为"团队资源管理器 - 连接".我双击团队项目的名称,选项卡标题更改为"团队资源管理器 - 主页",屏幕显示"主页| {teamProjName}"和两个部分.一个人有"项目","Web门户"和通常的" 待更改","源控制资源管理器",以下等图标部分;以及另一部分"解决方案",其中包含"工作空间:{workspaceName} | 新... | "打开..."; 下面是单个解决方案文件.我双击解决方案名称,现在屏幕显示"Home | solutionName(Local)"; 解决方案部分现在有"Branch:master"(Git的证据)和工具/选项/源控件说它已更改为Microsoft Git Provider.如果我将其更改回TFS,它会显示"Home | Offline",我必须再次点击"插件"图标 - 我就回到我开始的地方,除了它说"Connect | {solutionName}(Local) )" 解决方案"有一条线"工作区:{workspaceName} | 新... | "打开..."; 下面是单个解决方案文件.我双击解决方案名称,现在屏幕显示"Home | solutionName(Local)"; 解决方案部分现在有"Branch:master"(Git的证据)和工具/选项/源控件说它已更改为Microsoft Git Provider.如果我将其更改回TFS,它会显示"Home | Offline",我必须再次点击"插件"图标 - 我就回到我开始的地方,除了它说"Connect | {solutionName}(Local) )" 解决方案"有一条线"工作区:{workspaceName} | 新... | "打开..."; 下面是单个解决方案文件.我双击解决方案名称,现在屏幕显示"Home | solutionName(Local)"; 解决方案部分现在有"Branch:master"(Git的证据)和工具/选项/源控件说它已更改为Microsoft Git Provider.如果我将其更改回TFS,它会显示"Home | Offline",我必须再次点击"插件"图标 - 我就回到我开始的地方,除了它说"Connect | {solutionName}(Local) )" 解决方案部分现在有"Branch:master"(Git的证据)和工具/选项/源控件说它已更改为Microsoft Git Provider.如果我将其更改回TFS,它会显示"Home | Offline",我必须再次点击"插件"图标 - 我就回到我开始的地方,除了它说"Connect | {solutionName}(Local) )" 解决方案部分现在有"Branch:master"(Git的证据)和工具/选项/源控件说它已更改为Microsoft Git Provider.如果我将其更改回TFS,它会显示"Home | Offline",我必须再次点击"插件"图标 - 我就回到我开始的地方,除了它说"Connect | {solutionName}(Local) )"
首先打开解决方案并没有帮助; 当我连接到TFS时,解决方案将被关闭.关闭和打开VS只是从"VS了解TFS,但你处于脱机状态"模式开始,打开TFS活动的解决方案使其在(Local)模式下切换到Git提供程序.
我非常接近使用注册表黑客来禁用Microsoft Git提供程序 - 我使用Git Gui和命令行完成了我的Git工作; VS没有参与.
我疯了吗?我本以为"使用Git本地开发,连接到TFS以与其他人同步"是VS的主流用例.
任何援助将不胜感激.谢谢.
如果.git文件夹用作git存储库的存储,Visual Studio只能看到git存储库.因此,我们可以通过为git商店使用不同的文件夹来伪造VS.
.git文件夹重命名为_git(.gitdir可能隐藏).git只包含线gitdir: _git(请通过命令行的文件:echo gitdir: _git>.git)_git到您的.gitignore文件中现在,当您启动VS时,它将不会看到该git存储库,而是将使用TFS.
如果服务器配置为 TFVC 并且您有本地 Git 存储库,那么您不能只从本地推送到 tfs。你有两个选择。你可以:
1) 您可以创建一个为 Git 配置的新团队项目并正常推送。
2)您可以使用 TF-Git 从本地 git 存储库推送到 TFVC 服务器:http://www.microsoft.com/en-gb/download/details.aspx ?id=30474