Странное поведение .gitignore для временных файлов emacs
Если я редактирую new_file.txt
с помощью emacs, будут временные файлы, такие как #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
После a git status
я вижу, что как #new_file.txt#
, так и .#new_file.txt
перечислены как незатребованные файлы.
Я думаю, что .gitignore
может запутаться в символе #
в качестве начала строки комментария. Поэтому я удаляю эти две строки комментариев. Однако, после другого git status
, я все еще вижу #new_file.txt#
и .#new_file.txt
, перечисленные как файлы без следа.
Я делаю:
git rm -r --cached .
как указано в ".gitignore не работает" , но это не помогает.
Может кто-нибудь рассказать мне, что случилось, и как сделать .gitignore
работать, как я желаю? Большое спасибо!
Ответы
Ответ 1
Комментарии к файлам .gitignore
должны быть в их собственной строке - любой комментарий, завершающий шаблон файла, интерпретируется как часть этого шаблона.
Перенесите свои комментарии в строку перед шаблоном, и он должен вернуться к своему первоначальному поведению.