Visual Studio 2017 15.3.0 git更改包括"storage.ide",即使.vs/in .gitignore

Rog*_*ton 32 git github team-explorer visual-studio-2017

我几天前将VS 2017升级到了15.3.0.从那时起,文件"storage.ide"一直保留在我的修改过的文件中,即使我已经使用了建议的.gitignore for VS,其中包括.vs /文件夹.这包括以下内容.

# Visual Studio 2015 cache/options directory
.vs/
Run Code Online (Sandbox Code Playgroud)

然后我添加了以下内容,以便更加具体地从要跟踪的文件列表中忽略它

.vs/SIASAWeb/v15/sqlite3/storage.ide
.vs/**/storage.ide
Run Code Online (Sandbox Code Playgroud)

团队资源管理器中的更改显示以下内容:

<project folder>
  .vs/<project>/v15/sqlite3
    storage.ide
Run Code Online (Sandbox Code Playgroud)

我试图git重置这个文件,但是这会在下次提交时返回,并且也存在于我打开的所有分支中,从而导致这阻止了从一个分支轻松转移到另一个分支,即使没有进行任何更改.

在解决方案资源管理器中,"applicationhost.config"和".suo"文件被标记为"忽略",但"storage.ide"被标记为"待处理编辑".

我已经尝试提交,同步到GitHub服务器,关闭并重新打开VS,甚至重新启动计算机.

我的问题是为什么这个文件被维护为一个修改过的文件,即使它应该被git忽略.

Lia*_*iam 57

要解决此问题,如果您进入团队资源管理器选项卡并单击管理连接按钮(顶部的绿色按钮),您将看到本地Git存储库列表.

右键单击要停止跟踪storage.ide文件的存储库,然后选择"打开命令提示符".

然后,您应该能够键入以下内容:

git rm --cached -r .vs
Run Code Online (Sandbox Code Playgroud)

这将删除.vs文件夹及其内容和子目录在git中的跟踪.


Ant*_*ile 20

这可能意味着它在某个时候被错误地添加到git存储库中,然后被忽略.git将继续跟踪gitignored文件的更改(如果它们存在于索引中)("签入").

如果您根本不想检入文件,可以通过运行将其从索引中删除

git rm path/to-file --cached
Run Code Online (Sandbox Code Playgroud)

如果您不希望文件存在,则可以将内容保留在磁盘上

git rm path/to-file --force
Run Code Online (Sandbox Code Playgroud)

请注意,如果(例如)要将基础项目文件作为处理项目的起点进行检查,则可能不希望这样做.您可能只需要小心提交该特定文件.

  • VS中的Git集成不会自动添加storage.ide文件.它可能在某个时刻被意外地包含在提交中,然后它进入了不同的分支.正如Anthony提到的,一旦文件在Git仓库中提交,忽略模式就不再适用于它.如果您使用git log查看storage.ide文件的历史记录,它应该告诉您何时添加它. (2认同)

Noc*_*tis 9

以下似乎已经为我解决了这个问题.

# Visual Studio 2015/2017 cache/options directory
*.vs/
Run Code Online (Sandbox Code Playgroud)

它忽略了它里面的一切.