Visual Studio 2017 15.3.0 git changes include “storage.ide” even though .vs/ in .gitignore

一笑奈何 提交于 2019-12-03 02:18:11

问题


I upgraded VS 2017 to 15.3.0 a few days ago. Since then file "storage.ide" has remained in my modified files, even through I have used a suggested .gitignore for VS, which includes the .vs/ folder. This includes the following.

# Visual Studio 2015 cache/options directory
.vs/

I then added the following to be more specific about ignoring this from the list of files to be tracked

.vs/SIASAWeb/v15/sqlite3/storage.ide
.vs/**/storage.ide

The Changes in the Team Explorer shows the following:

<project folder>
  .vs/<project>/v15/sqlite3
    storage.ide

I have tried to git reset this file, but this then returns on the next commit, and also exists in all branches which I open, resulting in this then preventing the easy shift from one branch to another even if no changes were made.

In the Solution Explorer the "applicationhost.config" and ".suo" files are marked as "ignored", but "storage.ide" is marked as "pending edit".

I have tried committing, synced to the GitHub server, closing and re-opened VS, and even rebooting the computer.

My question is why this file is being maintained as a modified file, even though it should be ignored for git.


回答1:


To fix this, if you got to the Team Explorer tab and click on the Manage Connections button (the green one a the top) you will see a list of local Git Repositories.

Right click on the repository you want to stop tracking the storage.ide file on and select Open Command Prompt.

You should then be able to type the following:

git rm --cached -r .vs

This removes the .vs folder and its contents and subdirectories from being tracked in git.




回答2:


This probably means it was incorrectly added to the git repository at some point and then ignored afterwards. git will continue to track changes to gitignored files if they are present in the index ("checked in").

If you don't want the file checked in at all, you can remove it from the index by running

git rm path/to-file --cached

This will keep the contents on disk, if you don't want the file to exist at all you can run

git rm path/to-file --force

Note that this may be undesirable if (for instance) the base project files are intended to be checked in as a starting point for working on the project. And you may just have to be careful about not committing that specific file.




回答3:


the following seems to have solved the issue for me.

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

it ignores everything in it.




回答4:


I just had the same issue. I solved it by making a whole new .gitignore file from visual studio's team explorer (Team Explorer => Some git directory => Settings => Repository Settings => Gitignore file Add).

Then I deleted my .vs in my project folder and manually committed by git bash with the following lines:

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



回答5:


I'm using SourceTree(https://www.sourcetreeapp.com/) to manage my git commits. With it you can right click your changes and have an option of Stop Tracking.I used it for the same files you are trying to ignore as myself also just upgraded to 15.3.0 and that was the last time i saw those pending changes



来源:https://stackoverflow.com/questions/45802083/visual-studio-2017-15-3-0-git-changes-include-storage-ide-even-though-vs-in

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!