由于我正在 Visual Studio 中处理一个项目,并且正在尝试提交更改,并且我已在 .gitignore 中添加了我不想提交的文件。以及我在 .gitignore 文件中添加了 /.vs/slnx.sqlite 但它仍然显示为未提交的文件。我必须做什么。请帮我解决这个问题
`/.vs/angular2-research/v15
/.vs/config/applicationhost.config
/.vs/slnx.sqlite
/.vs/slnx.sqlite-journal
/cleanui/cleanui-admin-template-angular/node_modules
/cleanui/.vs
/.vs
slnx.sqlite
*.sqlite
/.vs/*.sqlite
.vs/*.sqlite`
Run Code Online (Sandbox Code Playgroud)
cur*_*Boy 10
请记住,这些文件存储一些本地用户设置和项目首选项(例如您打开的文件)。因此,每次您在 IDE 中导航或进行一些更改时,该文件都会发生更改,因此它会检查该文件并显示有未提交的更改。
对于 slnx.sqlite,我刚刚完全摆脱了它,如下所示:
git rm {PATH_OF_THE_FILE}/slnx.sqlite -f
git commit -m "remove slnx.sqlite"
Run Code Online (Sandbox Code Playgroud)
它显示为未提交?如果是这种情况,那么将其添加到 .gitignore 不会有任何改变,因为 .gitignore 仅适用于未跟踪的文件(git 到目前为止尚未跟踪的文件.... HEAD 的一部分] 然后 .gitignore 什么都没有改变)...所以,需要遵循两种方法:
将文件保留在项目中,但特别要求 git不关心它是否更改。然后你可以做git update-index --assume-unchanged somefile
从分支的历史记录中删除文件。这是一项完全不同的工作,需要重写一个(或多个)分支的历史记录从所有 Git 存储库提交历史记录中完全删除文件