如果我使用emacs编辑new_file.txt
,则文件未保存时会有#new_file.txt#
和.#new_file.txt
等临时文件,保存时会显示new_file.txt~
。
我想要排除这些文件。所以我这样写.gitignore
:
#This is a comment line
*~
[#]*[#]
.\#*
这完美无缺。但后来我添加了一些注释行:
#This is a comment line
*~
[#]*[#] # this is a comment
.\#* # this is another comment
在git status
后,我看到#new_file.txt#
和.#new_file.txt
都列为未跟踪文件。
我认为.gitignore
可能会将#
字符混淆为评论行的开头。所以我删除了这两个注释行。但是,在另一个git status
之后,我仍然会将#new_file.txt#
和.#new_file.txt
列为未跟踪文件。
我做:
git rm -r --cached .
如".gitignore not working"中所述,但它没有帮助。
有人可以告诉我发生了什么,以及如何让.gitignore
按照我的意愿工作?非常感谢你!
答案 0 :(得分:11)
对.gitignore
文件的评论必须在各自的行上 - 任何跟踪文件模式的评论都会被解释为该模式的一部分。
将注释移动到模式之前的行,它应该返回到其初始行为。