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

时间:2017-08-21 16:44:56

标签: git github visual-studio-2017 team-explorer

我几天前将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忽略。

5 个答案:

答案 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,这是我最后一次看到这些挂起的更改