我正在尝试使用Visual Studio 2017将项目更改从C#项目提交到我的私有gitea存储库。不幸的是,构建输出,如bin,debug,以及VS缓存文件夹.vs总是被添加到更改列表中。
当我输入'git add'时。我收到以下错误:
error: open(".vs/xyz/v15/Server/sqlite3/db.lock"): Permission denied
error: unable to index file .vs/xyz/v15/Server/sqlite3/db.lock
fatal: adding files failed
对我来说问题很清楚。 Git尝试将.vs子文件夹添加到更改列表中,但由于Visual Studio对数据库有锁定,因此无法执行此操作。
我从这里下载了一个.gitignore文件:
https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
将其复制到项目文件夹的根目录并将其重命名为.gitignore。我检查了此文件和文件夹的权限,并且用户具有完全写入权限(顺便说一下,我使用的是Windows 10)。
在命令行中我做了这个:
git rm -r --cached .
这从存储库中删除了我的所有源文件。我承诺改变了
git commit -am "removed source files"
和readded并提交我的gitignore文件
git add .\.gitignore
git commit -am "readded gitignore"
当我使用命令
git check-ignore -v .vs
我得到没有输出,以某种方式告诉我,git不使用gitignore文件。
我正在使用git for windows version 2.17.1.windows.2。另外我安装了tortoiseGit,我用于其他项目(我不确定它会干扰git所以我提到它)。
好的,我解决了问题!这个是一个棘手的问题。根据我的Notepad ++,.gitignore文件编码设置为“UCS2 BE BOM”。我将编码转换为UTF-8,我可以添加我的文件。