我几天前将VS 2017升级到了15.3.0。从那时起,文件“storage.ide”一直保留在我的修改过的文件中,即使我使用了a suggested .gitignore for VS,其中包含.vs /文件夹。这包括以下内容。
# Visual Studio 2015 cache/options directory
.vs/
然后,我添加了以下内容,以便更加具体地从要跟踪的文件列表中忽略它
.vs/SIASAWeb/v15/sqlite3/storage.ide
.vs/**/storage.ide
团队资源管理器中的更改显示以下内容:
<project folder>
.vs/<project>/v15/sqlite3
storage.ide
我已经尝试git重置此文件,但是这会在下一次提交时返回,并且也存在于我打开的所有分支中,从而导致这阻止了从一个分支轻松转移到另一个分支,即使没有进行任何更改
在解决方案资源管理器中,“applicationhost.config”和“.suo”文件被标记为“已忽略”,但“storage.ide”被标记为“待审编辑”。
我尝试过提交,同步到GitHub服务器,关闭并重新打开VS,甚至重新启动计算机。
我的问题是为什么将这个文件作为修改后的文件进行维护,即使它应该被git忽略。
答案 0 :(得分:48)
要解决此问题,如果您进入团队资源管理器选项卡并单击管理连接按钮(顶部的绿色按钮),您将看到本地Git存储库列表。
右键单击要停止跟踪storage.ide文件的存储库,然后选择“打开命令提示符”。
然后您应该可以输入以下内容:
git rm --cached -r .vs
这将删除.vs文件夹及其内容和子目录在git中的跟踪。
答案 1 :(得分:18)
这可能意味着它在某个时候被错误地添加到git存储库中,然后被忽略。 git将继续跟踪gitignored文件的更改(如果它们存在于索引中)(&#34;签入&#34;)。
如果您根本不想检入文件,可以通过运行
将其从索引中删除git rm path/to-file --cached
这样可以将内容保留在磁盘上,如果您不希望文件存在则可以运行
git rm path/to-file --force
请注意,如果(例如)要将基础项目文件作为处理项目的起点进行检查,则可能不希望这样做。您可能只需要小心不提交该特定文件。
答案 2 :(得分:7)
以下似乎已经为我解决了这个问题。
# Visual Studio 2015/2017 cache/options directory
*.vs/
它忽略了其中的所有内容。
答案 3 :(得分:0)
我遇到了同样的问题。我通过从visual studio的团队资源管理器中创建一个全新的.gitignore
文件来解决它(团队资源管理器=&gt;一些git目录=&gt;设置=&gt;存储库设置=&gt; Gitignore文件添加)。
然后我删除了项目文件夹中的.vs
并通过git bash手动提交了以下行:
git add *.*
git commit -m "Removing some files"
git push origin master
答案 4 :(得分:-1)
我正在使用SourceTree(https://www.sourcetreeapp.com/)来管理我的git提交。 有了它,您可以右键单击您的更改并选择停止跟踪。我将其用于您尝试忽略的相同文件,因为我自己也刚刚升级到15.3.0,这是我最后一次看到这些挂起的更改