我是 TFS 的新手。在我的工作中,我将 TFS 项目映射到本地目录,执行了一次获取,一切都按我的预期工作。当我在本地副本上编辑文件时,源代码管理会自动将它们签出以进行编辑,并通过挂起的更改窗口跟踪具有挂起更改的文件。然后我就用那个窗口全天检查它们。
然而,在家里,这似乎并没有发生。我可以访问源代码管理并使用源代码管理资源管理器,已将项目映射到本地目录。这似乎工作正常。但是,当我打开项目并打开文件时,我所做的更改不会自动签出文件。事实上,在我尝试保存更改之前,Visual Studio 甚至不会更改它们的只读状态;那时它会警告我该文件是只读的,并询问我是否希望它尝试覆盖权限并保存。我这样做了,而且效果很好。但同样,未决更改窗口中没有任何更改记录。我有点迷路了。我真正拥有的唯一源代码控制经验是颠覆和 Visual Studio AnkhSVN 插件。
我什至通过双击源代码管理资源管理器中的解决方案文件打开了我的解决方案。你会认为它会完全意识到我正在打开的解决方案应该由源代码控制来跟踪。
编辑
由于人们似乎在质疑我对“在家”一词的使用,让我澄清一下。网络没有问题。我在VPN上。我可以很好地浏览源代码管理。从那以后,我出于各种原因重新安装了所有东西。一切顺利。我只是在 Visual Studio 不跟踪文件更改并允许将它们提交回源代码管理时遇到问题。所以总结一下:
Visual Studio 如何在正确映射后停止跟踪更改并让我获得最新信息?我可以从源代码管理更新,我只是不能提交。即使在进行更改后,待更改窗口也是空的。
右键单击您的解决方案节点,然后转到“联机”。由于各种原因,Visual Studio 可以将您的解决方案标记为由源代码管理跟踪,但“脱机”。它还在幕后追踪变化等你再次上线。完成此操作后,我的待定更改窗口已填充,一切正常。我认为这是某个地方的简单设置。
我在 File > Source Control > Advanced > Change Source Control 下发现了一个有趣的设置。
如果我将解决方案和项目绑定到我的源代码控制服务器(如果它已经绑定,请先取消绑定),然后它突然就可以工作了!保存文件会自动签出文件并跟踪更改。
编辑:这似乎是 Visual Studio 中的一个错误。如果此解决方法对您有帮助,那么如果您在 https://developercommunity.visualstudio.com 中使用您的 Visual Studio 版本信息创建一个新问题,这样开发团队可以解决此问题,那就太好了!
进入源代码控制绑定(文件-> 源代码控制-> 更改源代码控制) - 您可能会注意到只有项目被绑定 - 而不是解决方案。选择解决方案,单击绑定。
我刚刚找到了如何在您已经在线时解决此问题(没有可见的“上线”选项)。实际上,列出了未决的更改,但它们隐藏在巨大的“评论”部分下方。要查看它们,请增加“Pending Changes”选项卡的高度并降低“Comment”部分的高度:您将看到由不良缩放的 VS 隐藏的待定更改列表:)
就我而言,我通过应用以下步骤解决了问题:
在解决方案资源管理器上右键单击您的解决方案文件。如果您已经将文件添加到 tfs,请单击将解决方案添加到源代码控制单击忽略文件替换弹出窗口
我和其他人一样收到“只读”错误。我正在编辑的文件旁边有一个红色的小检查,但是当我去保存时,它要求我保存文件 b/c 它是只读的。我从不同的版本控制系统中移动了这些文件,但它们仍然是只读的。但我认为 Git 并不像我的旧源代码控制那样关心将文件保持为只读状态。所以我刚刚删除了 Windows 资源管理器中的只读标志,一切顺利。
对我来说,解决方案是转到 Team Explorer Pending Changes 窗口,然后从那里启动签入。没有看到联机选项,我在 VS2013 上。感谢大家的指点!
我发现我的一个项目实际上根本没有添加到源代码管理中 - 不知何故被遗漏了,因此对该项目的任何更改都不会被检出。我右键单击解决方案节点,单击“添加到源代码管理”,它警告我一些项目已经被跟踪,我选择忽略这些项目,它继续将缺少的项目添加到源代码管理。现在结帐工作完美。分享以防它帮助其他人!
这篇文章中的任何答案/建议都没有帮助我,但经过数小时的拉头发后,我找到了解决问题的方法。
找到存储库的 .git 文件夹。删除里面的index.lock文件。重新启动 Visual Studio。
(我正在使用 Visual Studio 2017。)
关闭解决方案。在记事本中打开解决方案文件然后删除以下部分。
GlobalSection(TeamFoundationVersionControl) = preSolution
SccNumberOfProjects = 2
SccEnterpriseProvider = {3CF58AB4-18FA-4F8D-95D4-32DDF27D189R}
SccTeamFoundationServer = https://serverIP/Project
SccLocalPath0 = .
SccProjectUniqueName1 = Ecample\\Example.csproj
SccProjectName1 = Example
SccLocalPath1 = Example
EndGlobalSection
然后再次打开解决方案,它应该提示绑定,正确进行绑定。
安装2个东西:
VS2013 的团队资源管理器 (http://www.microsoft.com/en-us/download/details.aspx?id=40776) 安装 VS TFS Power 工具 (https://visualstudiogallery.msdn.microsoft.com/f017b10c-02b4 -4d6d-9845-58a06545627f)
而已