尽管我尝试了本文和其他文章中的各种建议(例如Gitignore不起作用和Gitignore不工作-被忽略?),但我无法让git忽略.Gitignore.txt文件中包含的文件/文件夹。
我应该强调的是,与前面的许多回答不同,这些回答解决了先前提交的文件/目录无法被跟踪的问题,在我的情况下,我在第一次提交之前遇到了这个问题(即只运行git init,然后运行git status)。
还有一些其他有希望的建议,包括:
文本文件编码必须是ANSI而不是UTF,例如,在记事本中编码->ANSI++Windows的EOL转换,例如记事本中的编辑->EOL转换->Windows++.gitignore.txt中的项目没有前导或尾随空格定义文件夹时没有前导“/”
但没有一个适用或解决了我的问题。
在尝试了创建.gitignore.txt文件的不同方法之后,我设法弄清楚了如何使其工作,尽管我不能说我明白为什么。如果有人能提供解释,那将是很有意思的。
为了让那些可能发现前面的答案没有解决他们的问题的人受益,我将描述我尝试了什么,什么没有奏效,什么做了。希望通过这样做,它也可以揭示原因。请注意,我使用的是Windows 10。
尝试#1(失败)
在Windows资源管理器中创建新的txt文件:
(在项目文件夹中)右键单击->新建->文本文档将文件名更改为“.gitignore”在Notepad++中打开文件,输入的文件/目录名将被忽略编码->ANSI[注释1],保存更改
我运行git状态,但我想要忽略的文件/文件夹显示为未跟踪。我在Windows资源管理器中检查了文件财产。不出所料,文件名为“.gitignore”,文件类型为“文本文档(.txt)”。
注1:
一些贡献者指出,编码必须是ANSI(而不是UTF)。在Notepad++中,我发现无论我是执行编码->ANSI,还是编码->转换为ANSI+保存,都要关闭文件,然后重新打开(在Notepad++中),当我检查编码时,它总是报告UTF-8。.gitignore.txt文件也是如此,最终成功了。
尝试#2(失败)
在Notepad++中创建新的txt文件:
在Notepad++中创建新文件,输入要忽略的项目保存为“.gitignore.txt”,将“另存为类型”从“普通文本文件”(默认)更改为“所有类型”,并取消勾选“附加扩展名”框(默认勾选)。
我运行了git状态,和之前一样,所有文件/目录都列在未跟踪文件下。与之前一样,文件名为“.gitignore”,文件类型为“文本文档(.txt)”。
尝试#3(成功)
如果相同的文件(.gitignore.txt)仍然在Notepad++中打开:
另存为“.gitignore”选择了“另存为类型”的“普通文本文件”,这会自动勾选“附加扩展名”框
我注意到创建的文件在Windows资源管理器中似乎没有名称。我检查了文件的财产:文件名字段为空,文件类型为“文本文档(.gitignore)”。在Windows资源管理器(查看->文件扩展名)中勾选“文件扩展名”后,“无名称”文件显示“.gitignere”扩展名。
我运行了git状态,这次我想要忽略的文件/文件夹没有被列为未跟踪文件-成功!
在Notepad++中打开文件时,我注意到编码是UTF-8,并且文件名被标识为“.gitignore”(与Windows资源管理器不同)。
因此,创建txt文件的方式似乎很微妙。也许这是Windows独有的特点?