Visual Studio 不跟踪更改,或者在我编辑文件时从源代码管理中签出文件
Posted
技术标签:
【中文标题】Visual Studio 不跟踪更改,或者在我编辑文件时从源代码管理中签出文件【英文标题】:Visual Studio isn't tracking changes, or checking out files from source control as I edit them 【发布时间】:2011-07-14 18:00:04 【问题描述】:我是 TFS 的新手。在我的工作中,我将 TFS 项目映射到本地目录,执行了一次获取,一切都按我的预期工作。当我在本地副本上编辑文件时,源代码管理会自动将它们签出以进行编辑,并通过挂起的更改窗口跟踪具有挂起更改的文件。然后我就用那个窗口全天签到。
但是,在家里,这似乎并没有发生。我可以访问源代码管理并使用源代码管理资源管理器,已将项目映射到本地目录。这似乎工作正常。但是,当我打开项目并打开文件时,我所做的更改不会自动签出文件。事实上,在我尝试保存更改之前,Visual Studio 甚至不会更改它们的只读状态;那时它会警告我该文件是只读的,并询问我是否希望它尝试覆盖权限并保存。我这样做了,而且效果很好。但同样,未决更改窗口中没有任何更改记录。我有点迷路了。我真正拥有的唯一源代码控制经验是颠覆和 Visual Studio AnkhSVN 插件。
我什至通过双击源代码管理资源管理器中的解决方案文件来打开我的解决方案。你会认为它会完全意识到我正在打开的解决方案应该由源代码管理来跟踪。
编辑
由于人们似乎在质疑我对“在家”一词的使用,让我澄清一下。网络没有问题。我在***上。我可以很好地浏览源代码管理。从那以后,我出于各种原因重新安装了所有东西。一切顺利。我只是在 Visual Studio 不跟踪文件更改并允许将它们提交回源代码管理时遇到问题。所以总结一下:
Visual Studio 如何在正确映射后停止跟踪更改并让我获得最新信息?我可以从源代码管理更新,我只是不能提交。即使进行了更改,待更改窗口也是空的。
【问题讨论】:
“但是,在家里这似乎没有发生”是什么意思?您是在远程访问 TFS 吗? 我正在使用 *** 连接我的工作网络。我访问网络和 TFS 没有问题。我可以浏览源代码管理。我的问题是 VS 没有跟踪更改并允许我将它们提交回源代码管理。此外,如果它有助于缓解您对 *** 的顾虑,那么它曾经在家中工作得很好。我已经重新安装了我的操作系统,现在它很傻。 我的问题是关于视觉工作室和源代码控制。这一点我已经很清楚了。忘记 ***,或者我安装了我的操作系统。源代码管理有什么方法可以停止跟踪更改?也许我忽略了一个设置。 不知道为什么我应该得到-1。我已经非常清楚和具体了。仅仅因为你不知道答案并不意味着这是一个糟糕的问题。 您在解释问题方面确实做得很好。您在这里添加答案也做得很好。伙计,这为我节省了一些时间。 TFS 是一堆。 【参考方案1】:关闭解决方案。在记事本中打开解决方案文件然后删除以下部分。
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】:右键单击您的解决方案节点,然后转到“联机”。由于各种原因,Visual Studio 可以将您的解决方案标记为由源代码管理跟踪,但“脱机”。它还在幕后追踪变化等你再次上线。完成此操作后,我的待定更改窗口已填充,一切正常。我认为这是某个地方的简单设置。
【讨论】:
我看到了相同的症状,但没有看到“Go Online”选项。有什么想法吗? 如果您看到此问题但找不到“联机”选项,请尝试打开项目中的任何代码文件,然后转到“文件 -> 源代码管理 -> 联机”。当 Source Control 选项卡具有焦点时,此选项不会显示在 File 菜单中。 我刚刚写了我的挣扎,当我在 VS 中没有连接到 TFS 时,它没有看到变化。这个答案出现在 SO 的相关侧边栏上——感谢您回答我未提出的问题! -- J.美林 与您的情况无关,但对其他人而言:如果您发现您的解决方案是“在线”的,并且在您编辑文件时仍然没有自动检出文件,您可以在工具-> 下检查您的设置Options->Source Control->Environment,并确认“Saving”和“Editing”都设置为“Check out automatically”并且“Allow check-in items to beedited”没有勾选。 -- 此外,如果您使用的是 VS2012 或更新版本,请确认它确实是服务器工作区而不是本地工作区;因为新的“本地工作区”功能有点不同。 感谢您将答案带回 SO。我喜欢这些隐藏的小功能。似乎 UI 中的某处应该有一个更明显的指示符,让您知道您“离线”,即使我刚刚从 SCE 获得最新消息...:^|【参考方案3】:进入源代码控制绑定(文件->源代码控制->更改源代码控制) - 您可能会注意到只有项目被绑定 - 而不是解决方案。选择解决方案,点击绑定。
【讨论】:
谢谢,在我的情况下,我必须将解决方案添加到源代码管理(文件 -> 源代码管理 -> 将解决方案添加到源代码管理)【参考方案4】:在我的情况下,我通过应用以下步骤解决了问题:
-
在解决方案资源管理器中右键单击您的解决方案文件。
点击添加解决方案到源代码管理
如果您已将文件添加到 tfs,请单击忽略文件替换弹出窗口
【讨论】:
【参考方案5】:我在“文件”>“源代码管理”>“高级”>“更改源代码管理”下发现了一个有趣的设置。
如果我将解决方案和项目绑定到我的源代码控制服务器(如果已经绑定,请先取消绑定),然后它突然就可以工作了!保存文件会自动签出文件并跟踪更改。
编辑:这似乎是 Visual Studio 中的一个错误。如果此解决方法对您有帮助,如果您在 https://developercommunity.visualstudio.com 使用您的 Visual Studio 版本信息创建一个新问题,那就太好了,这样开发团队就可以解决这个问题!
【讨论】:
谢谢 - 这也是我的问题。我的解决方案已绑定,但由于某种原因,我的 4 个项目子项未绑定 - 单击 4 个项目的绑定按钮让我恢复了缺少的功能 是的,这对我也有用。但这是一项繁琐的任务,我有 400 个奇怪的项目,我必须将它们逐个解绑(不能同时做多个)并绑定每个项目。 @Abe @Paul 如果问题令人沮丧,解决问题的方法是通过网站或从 VS 内部向 MSFT 发送反馈 :)(我无法复制它;我没有不再使用 TFS。)如果您这样做,请在此处粘贴链接,以便我们对其进行投票! 这个到今天仍然有效!也解决了我的问题。 也解决了我的问题。谢谢!【参考方案6】:这篇文章中的任何答案/建议都没有帮助我,但我在拔头发数小时后找到了解决问题的方法。
-
找到您的存储库的
.git
文件夹。
删除里面的index.lock
文件。
重新启动 Visual Studio。
(我使用的是 Visual Studio 2017。)
【讨论】:
【参考方案7】:我发现我的一个项目实际上根本没有添加到源代码管理中 - 不知何故被遗漏了,因此对该项目的任何更改都不会被签出。我右键单击解决方案节点,单击“添加到源代码管理”,它警告我一些项目已经被跟踪,我选择忽略这些项目,它继续将缺少的项目添加到源代码管理。现在结帐工作完美。分享以防它帮助其他人!
【讨论】:
【参考方案8】:安装 2 个东西:
-
VS2013 的团队资源管理器 (http://www.microsoft.com/en-us/download/details.aspx?id=40776)
安装 VS TFS 电动工具 (https://visualstudiogallery.msdn.microsoft.com/f017b10c-02b4-4d6d-9845-58a06545627f)
就是这样
【讨论】:
【参考方案9】:对我来说,解决方案是转到 Team Explorer Pending Changes 窗口,然后从那里启动签入。没有看到联机选项,我在 VS2013 上。感谢大家的指点!
【讨论】:
【参考方案10】:我和其他人一样收到“只读”错误。我正在编辑的文件旁边有一个红色的小检查,但是当我去保存时,它要求我保存文件 b/c 它是只读的。我从不同的版本控制系统中移动了这些文件,但它们仍然是只读的。但我认为 Git 并不像我的旧源代码控制那样关心将文件保持为只读状态。所以我刚刚删除了 Windows 资源管理器中的只读标志,一切顺利。
【讨论】:
【参考方案11】:我刚刚找到了如何在您已经在线时解决此问题(没有可见的“在线”选项)。 实际上,列出了未决的更改,但它们隐藏在巨大的“评论”部分下方。要查看它们,请增加“Pending Changes”选项卡的高度并降低“Comment”部分的高度:您将看到被不良缩放的 VS 隐藏的待定更改列表:)
【讨论】:
以上是关于Visual Studio 不跟踪更改,或者在我编辑文件时从源代码管理中签出文件的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Visual Studio 2017 中启用 TFS 跟踪
visual studio2019 取消显示引用关作者更改项
Visual Studio 2010 SQL 数据库项目命令行架构比较