我在VS2013中使用Git,我的更改文件没有显示在VS的“更改”窗口中。
当我更改文件但在将其保存到磁盘之前,它确实显示出来。但是,只要我将文件保存到磁盘,更改就会从“更改”窗口中消失。
我尝试卸载并重新安装VS2013,但它没有帮助。有关如何在保存窗口后保留更改的任何想法吗?
我一直在命令行上使用Git来解决这个问题,以便git客户端能够检测到有变化。
保存之前。
保存文件后,更改消失。
答案 0 :(得分:3)
我也有这个问题。它是随机发生的,我的git状态迟早会从Visual Studio中的Microsoft Git Provider加载项中删除,尽管它在Git bash上是正确的。
事实证明,就我而言,只要我从SQL Management Studio打开与LocalDb数据库的连接并保持连接打开,就会发生这种情况。因此,我怀疑只要进程锁定了由Microsoft Git Provider监视的文件,就可能发生这种情况。
希望它有所帮助。就我而言,它已经修好了!
答案 1 :(得分:1)
我安装了Roslyn预览扩展程序。禁用此扩展程序可解决此问题。
答案 2 :(得分:1)
答案 3 :(得分:1)
使用Editor或Notepad ++打开.gitignore
文件,然后删除包含要跟踪的文件的行。
答案 4 :(得分:1)
在VS2015中向我的解决方案添加新的但现有的项目时,我遇到了这个问题。问题是新项目使用了添加到解决方案根目录的本地db文件(.sdf和opendb)。当尝试暂存未提交的更改时,它失败了,因为它无法访问opendb文件而vs持有它。
我通过使用git for windows并尝试进行更改来发现这一点。一旦我将*opendb
添加到我的.gitignore并重新打开Visual Studio,它就会找到我所有的其他更改。
答案 5 :(得分:0)
我遇到了同样的问题并且它发生了,因为所有的代码文件都在一个子文件夹中,该子文件夹中还包含一个git存储库,并且阻止它停留在"包含的更改中#34;保存后的部分。
要修复它,我进入子文件夹并将git文件的所有名称更改为其他名称(例如,重命名.git文件夹为z.git,.gitingore为z.gitingorez等)。之后,所有文件都显示在"未跟踪文件中#34;部分和更改保留在"包含的更改"保存后的部分。
答案 6 :(得分:0)
我正在使用Visual Studio 2017,但我不得不完全相同的问题。花了我几个小时来实际找出解决方案。
<强>解决方案:强>
.git folder
。 'index.lock'
文件。我希望这有助于某人!
答案 7 :(得分:-1)
希望这有助于其他人...
简单的解决方案:
1)关闭VS 2013并手动重命名解决方案的文件夹。 2)重新打开VS 2013. VS将提示您从服务器克隆解决方案以打开它。按照提示操作并克隆解决方案的新副本。 3)关闭VS 2013并使用Beyond Compare(或其他文件比较系统)手动将更改从旧解决方案移动到新解决方案。 4)重新打开VS 2013.您的更改将显示,您可以将它们提交到本地和远程存储库。
---更多信息---
有同样的问题。在VS 2013 Update 4中对文件进行了更改。在保存文件之前,更改显示在“更改”屏幕中(并且解决方案资源管理器中项目旁边出现一个复选标记)。保存后,该项目不再出现在“更改”屏幕中(解决方案资源管理器中的图标已更改回锁定)。
虽然我没有时间尝试重现该方案,但由于我最近对项目所做的两项更改之一,可能会发生此问题。
1)我手动(在VS之外)做了一些复制/备份以部署新版本的第三方js lib。 原始文件夹结构: C:\ git的\解决方案\ webProj \脚本\ jwplayer \保险费\ jwplayer.js C:\ GIT中\溶液\ webProj \脚本\ jwplayer \自由\ jwplayer.js
新文件夹结构: C:\ git的\解决方案\ webProj \脚本\ jwplayer \ C:\ git的\解决方案\ webProj \脚本\ jwplayer \ jwplayer,6.11__MACOSX C:\ GIT中\溶液\ webProj \脚本\ jwplayer \ jwplayer-6.11 \ jwplayer C:\ GIT中\溶液\ webProj \脚本\ jwplayer \ jwplayerOriginal \
这是尝试将jwplayer.js(和其他必需文件)隔离到jwplayer目录中。新的__MACOS目录的文件名以“。”开头。有一种理论认为,在VS 2013处理变更期间,这些文件的路径可能会引发错误。
2)我最近得到了nuget更新。警告,在nuget更新之前,我已经删除了脚本目录下的基本js文件中的.map文件的引用(长篇故事)。当我尝试从nuget更新时,nuget识别出更改并且更新失败,但仍然更新了web.config和包。这导致安装的nuget思想与实际安装的内容不匹配。我使用VS 2013 / git集成来“撤消”每个更新,但可能遗漏了一些东西。