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创建尝试了一下,结果一遍成功了icon-default.png?t=N7T8https://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文件即可解决。

posted @ 2024-08-07 22:08  囫囵吞桃  阅读(3)  评论(0)    收藏  举报  来源