ChatGPT解决这个技术问题 Extra ChatGPT

Visual Studio 不跟踪更改,或在我编辑文件时从源代码管理中签出文件

我是 TFS 的新手。在我的工作中,我将 TFS 项目映射到本地目录,执行了一次获取,一切都按我的预期工作。当我在本地副本上编辑文件时,源代码管理会自动将它们签出以进行编辑,并通过挂起的更改窗口跟踪具有挂起更改的文件。然后我就用那个窗口全天检查它们。

然而,在家里,这似乎并没有发生。我可以访问源代码管理并使用源代码管理资源管理器,已将项目映射到本地目录。这似乎工作正常。但是,当我打开项目并打开文件时,我所做的更改不会自动签出文件。事实上,在我尝试保存更改之前,Visual Studio 甚至不会更改它们的只读状态;那时它会警告我该文件是只读的,并询问我是否希望它尝试覆盖权限并保存。我这样做了,而且效果很好。但同样,未决更改窗口中没有任何更改记录。我有点迷路了。我真正拥有的唯一源代码控制经验是颠覆和 Visual Studio AnkhSVN 插件。

我什至通过双击源代码管理资源管理器中的解决方案文件打开了我的解决方案。你会认为它会完全意识到我正在打开的解决方案应该由源代码控制来跟踪。

编辑

由于人们似乎在质疑我对“在家”一词的使用,让我澄清一下。网络没有问题。我在VPN上。我可以很好地浏览源代码管理。从那以后,我出于各种原因重新安装了所有东西。一切顺利。我只是在 Visual Studio 不跟踪文件更改并允许将它们提交回源代码管理时遇到问题。所以总结一下:

Visual Studio 如何在正确映射后停止跟踪更改并让我获得最新信息?我可以从源代码管理更新,我只是不能提交。即使在进行更改后,待更改窗口也是空的。

“但是,在家里这似乎没有发生”是什么意思?您是远程访问 TFS 吗?
我正在使用 VPN 连接我的工作网络。我访问网络和 TFS 没有问题。我可以浏览源代码管理。我的问题是 VS 没有跟踪更改并允许我将它们提交回源代码管理。此外,如果它有助于缓解您对 VPN 的顾虑,那么它曾经在家中工作得很好。我已经重新安装了我的操作系统,现在它很愚蠢。
我的问题是关于视觉工作室和源代码控制。这一点我已经很清楚了。忘记 VPN,或者我安装了我的操作系统。源代码管理有什么方法可以停止跟踪更改?也许我忽略了一个设置。
不知道为什么我应该得到-1。我已经非常清楚和具体了。仅仅因为你不知道答案并不意味着这是一个糟糕的问题。
你在解释问题方面确实做得很好。您在这里添加答案也做得很好。伙计,这为我节省了一些时间。 TFS 是一堆。

A
Alex Janzik

右键单击您的解决方案节点,然后转到“联机”。由于各种原因,Visual Studio 可以将您的解决方案标记为由源代码管理跟踪,但“脱机”。它还在幕后追踪变化等你再次上线。完成此操作后,我的待定更改窗口已填充,一切正常。我认为这是某个地方的简单设置。


我看到相同的症状,但没有看到“Go Online”选项。有什么想法吗?
如果您看到此问题但找不到“上线”选项,请尝试打开项目中的任何代码文件,然后转到“文件 -> 源代码管理 -> 上线”。当 Source Control 选项卡具有焦点时,此选项不会显示在 File 菜单中。
我刚刚写下了我的挣扎,当我在 VS 中没有连接到它时,TFS 没有看到发生的变化。这个答案出现在 SO 的相关侧边栏上——感谢您回答我未提出的问题! ——J.美林
与您的情况无关,但对其他人而言:如果您发现您的解决方案是“在线”的,并且在您编辑文件时它仍然没有自动检出文件,您可以在 Tools->Options->Source Control->Environment 下检查您的设置,并确认“保存”和“编辑”都设置为“自动签出”,并且“允许编辑签入的项目”未选中。 -- 此外,如果您使用的是 VS2012 或更新版本,请确认它确实是服务器工作区而不是本地工作区;因为新的“本地工作区”功能有点不同。
感谢您将答案带回 SO。我喜欢这些隐藏的小功能。似乎 UI 中的某处应该有一个更明显的指示器,让您知道您“离线”,即使我刚刚从 SCE 获得最新消息... :^|
C
Carl Walsh

我在 File > Source Control > Advanced > Change Source Control 下发现了一个有趣的设置。

如果我将解决方案和项目绑定到我的源代码控制服务器(如果它已经绑定,请先取消绑定),然后它突然就可以工作了!保存文件会自动签出文件并跟踪更改。

编辑:这似乎是 Visual Studio 中的一个错误。如果此解决方法对您有帮助,那么如果您在 https://developercommunity.visualstudio.com 中使用您的 Visual Studio 版本信息创建一个新问题,这样开发团队可以解决此问题,那就太好了!


谢谢 - 这也是我的问题。我的解决方案已绑定,但由于某种原因,我的 4 个项目子项未绑定 - 单击 4 个项目的绑定按钮让我恢复了缺少的功能
是的,这也对我有用。但这是一项繁琐的任务,我有 400 个奇怪的项目,我必须将它们中的每一个都解绑(不能同时进行多个)并绑定它们中的每一个。
@Abe @Paul 如果问题令人沮丧,解决它的方法是通过网站或从 VS 内部向 MSFT 发送反馈 :)(我无法复制它;我不再使用 TFS。)如果你做,把链接贴在这里,这样我们就可以投票了!
这个到今天仍然有效!也解决了我的问题。
也解决了我的问题。谢谢!
A
Abhishek Kargawal

进入源代码控制绑定(文件-> 源代码控制-> 更改源代码控制) - 您可能会注意到只有项目被绑定 - 而不是解决方案。选择解决方案,单击绑定。


谢谢,在我的情况下,我必须将解决方案添加到源代码管理(文件 -> 源代码管理 -> 将解决方案添加到源代码管理)
C
Chev

我刚刚找到了如何在您已经在线时解决此问题(没有可见的“上线”选项)。实际上,列出了未决的更改,但它们隐藏在巨大的“评论”部分下方。要查看它们,请增加“Pending Changes”选项卡的高度并降低“Comment”部分的高度:您将看到由不良缩放的 VS 隐藏的待定更改列表:)


c
cahit beyaz

就我而言,我通过应用以下步骤解决了问题:

在解决方案资源管理器上右键单击您的解决方案文件。如果您已经将文件添加到 tfs,请单击将解决方案添加到源代码控制单击忽略文件替换弹出窗口


T
Trevor

我和其他人一样收到“只读”错误。我正在编辑的文件旁边有一个红色的小检查,但是当我去保存时,它要求我保存文件 b/c 它是只读的。我从不同的版本控制系统中移动了这些文件,但它们仍然是只读的。但我认为 Git 并不像我的旧源代码控制那样关心将文件保持为只读状态。所以我刚刚删除了 Windows 资源管理器中的只读标志,一切顺利。


b
bgolev

对我来说,解决方案是转到 Team Explorer Pending Changes 窗口,然后从那里启动签入。没有看到联机选项,我在 VS2013 上。感谢大家的指点!


n
namford

我发现我的一个项目实际上根本没有添加到源代码管理中 - 不知何故被遗漏了,因此对该项目的任何更改都不会被检出。我右键单击解决方案节点,单击“添加到源代码管理”,它警告我一些项目已经被跟踪,我选择忽略这些项目,它继续将缺少的项目添加到源代码管理。现在结帐工作完美。分享以防它帮助其他人!


s
susieloo_

这篇文章中的任何答案/建议都没有帮助我,但经过数小时的拉头发后,我找到了解决问题的方法。

找到存储库的 .git 文件夹。删除里面的index.lock文件。重新启动 Visual Studio。

(我正在使用 Visual Studio 2017。)


D
Dharman

关闭解决方案。在记事本中打开解决方案文件然后删除以下部分。

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

然后再次打开解决方案,它应该提示绑定,正确进行绑定。


I
Ilya Gurenko

安装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)

而已