问题描述
我在使用sourcetree往github提交工程时,UserSettings/Layouts/default-2021.dwlt
文件无缘无故每次都被暂存。
尽管我在.gitignore
文件中反复修改忽略路径,该文件始终无法被屏蔽。如下图
解决办法
在网上找了很多资料,最终找到了这篇QA,是unity社区的一篇问答。
GitHub doesn’t ignore the UserSettings folder and the “default-2021.dwlt” file
Once a file is being tracked by git, it will always be tracked by git until you tell git to delete it.
Now that you have that directory in your gitignore, then just git rm to delete the entire contents of the UserSettings/ in your project, commit that remove, and now you won’t hear about it anymore.
(Obviously if you need the files in there, make a copy first, delete, then after committing, put the copy back).
大佬的意思是说 git存在远端的文件当被追踪后,除非在远端删除,否则会一直跟踪。
我的情况即使如此,我在第一次初始化的时候就已经往远端提交过default-2021.dwlt
文件,所以之后我在ignore中添加了UserSetting的过滤根本不起效果。
需要把本地需要忽略的文件default-2021.dwlt
删除进行提交,保证远端该文件已经被删除。之后再检查ignore是否编写规范。
以往,我对UserSetting文件夹的忽略 是直接再文件夹前添加斜杠或者中括号包裹首字母,看到github上大佬较为正确的忽略语法应该是 /[Uu]ser[Ss]ettings/
在Github官方的开源库gitjgnore中有一份较完整的Unity.ignore文件,gitignore/Unity.gitignore