windows下GIT不能根据.gitignore忽略文件
#技术笔记
#博客园
环境:Windows11
最近在学习使用git时发现,在windows的终端下,我使用echo命令创建.gitignore文件,并在里面添加文件路径。
发现输入git status后仍然显示已经添加进.gitignore的文件显示untracked
在网上找办法,最后看到了这篇帖子
git中gitignore因为创建方式失效的问题(Windows情况) - 哔哩哔哩在PowerShell中第一次创建gitignore,使用的是echo "*.log" > .gitignore之后用cat命令查看内容没有问题,但是gitignore会失效,也就是git status还会有.log的文件继续出现在工作区待上传。这个问题卡了我一个小时。不确定是我电脑的问题还是然后我用vim创建尝试了一下,结果一遍成功了https://www.bilibili.com/read/cv32136021/
按照帖子里的说法,我用vim(在网上下的gvim)重新创建了一个.gitignore文件,并添加文件路径,问题就解决了。
我对比了echo和vim创建出来的文件,发现两者的编码不同,前者是UTF-16 LE而后者是UTF-8.
同时试验了使用右键菜单创建文本文档的方式来创建.gitignore文件,发现也可行。其编码也是UTF-8.
考虑到可能是编码的原因,上网搜索了一下,果真找到这篇文章。 Git 为什么不原生支持UTF-16|极客笔记 所以这个问题的原因很可能是GIT不支持UTF-16导致的。使用vim、右键菜单创建文本文档或其他方式创建UTF-8编码的.gitignore文件即可解决。