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



几天前我将VS 2017升级到15.3.0。从那时起,文件"storage.ide"一直保留在我修改的文件中,即使我对VS使用了建议的.gitignore ,其中包括.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。

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

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

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

git rm --cached -r .vs

这会删除 .vs 文件夹及其内容和子目录,以免在 git 中被跟踪。

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

如果根本不希望签入该文件,可以通过运行

git rm path/to-file --cached

这会将内容保留在磁盘上,如果您根本不希望该文件存在,您可以运行

git rm path/to-file --force

请注意,如果(例如(打算将基本项目文件作为处理项目的起点签入,则可能不希望这样做。 您可能只需要小心不要提交该特定文件。

以下内容似乎已经为我解决了这个问题。

# Visual Studio 2015/2017 cache/options directory
*.vs/

它忽略了其中的所有内容。

我刚刚遇到了同样的问题。我通过从 Visual Studio 的团队资源管理器创建一个全新的.gitignore文件来解决它(团队资源管理器 => 一些 git 目录 => 设置 => 存储库设置 => Gitignore 文件添加(。

然后我删除了项目文件夹中的.vs,并通过 git bash 手动提交,内容如下:

git add *.*
git commit -m "Removing some files"
git push origin master

我正在使用SourceTree(https://www.sourcetreeapp.com/(来管理我的git提交。 有了它,您可以右键单击更改并具有"停止跟踪"选项.我将它用于您尝试忽略的相同文件,因为我自己也刚刚升级到 15.3.0,那是我最后一次看到那些挂起的更改

最新更新