emacs临时文件的奇怪.gitignore行为

时间:2012-07-16 04:23:44

标签: git emacs

如果我使用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按照我的意愿工作?非常感谢你!

1 个答案:

答案 0 :(得分:11)

.gitignore文件的评论必须在各自的行上 - 任何跟踪文件模式的评论都会被解释为该模式的一部分。

将注释移动到模式之前的行,它应该返回到其初始行为。