.gitignore regex для временных файлов emacs
Я пытаюсь использовать .gitignore временные/автосохраненные файлы emacs. Я использую...
\.\#.*
в моем .gitignore.
Но git add -A
запустить во вложенной папке все еще дает мне:
# new file: .#make_collections.py
# new file: .#norm_collections.py
# new file: make_collections.py
# new file: norm_collections.py
хотя
\.\#.*
явно получает правильные имена файлов, а не неправильные, когда я проверю его с помощью тестера регулярных выражений.
Ответы
Ответ 1
Вы также можете указать emacs сохранить файлы автосохранения в другом каталоге, установив переменную auto-save-file-name-transforms
, у меня есть это в моем файле инициализации
(setq auto-save-file-name-transforms
`((".*" ,(concat user-emacs-directory "auto-save/") t)))
Это указывает emacs сохранять автосохранения внутри папки auto-save
в каталоге user-emacs (обычно ~/.emacs.d
).
Чтобы сохранить резервные файлы в другом каталоге, установите переменную backup-directory-alist
, следующее будет сохранять файлы резервной копии внутри папки backups
в каталоге user-emacs
(setq backup-directory-alist
`(("." . ,(expand-file-name
(concat user-emacs-directory "backups")))))
Ответ 2
gitignore не использует регулярные выражения. Вместо этого он использует shell glob patters. На странице вам сообщается две важные для этой ситуации вещи:
Otherwise, Git treats the pattern as a shell glob suitable for
consumption by fnmatch(3) with the FNM_PATHNAME flag.
и
A line starting with # serves as a comment. Put a backslash ("\")
in front of the first hash for patterns that begin with a hash.
Это означает, что шаблон, который вы хотите использовать, просто .#*
.
Теперь второй шаблон, упомянутый matov, #*
, ничего не делает, поскольку он рассматривается как комментарий git. Поэтому я цитирую это второе предложение на странице руководства.
Ответ 3
Автосохранные файлы Emacs игнорируются с помощью
\#*#
Ответ 4
файлы игнорируются с помощью:
\#*\#
.\#*
Ответ 5
Если вам нужен простой способ игнорировать файлы, вы также можете использовать http://www.gitignore.io, который помогает создавать полезные .gitignore файлы для вашего проекта.
Вот шаблон emacs: https://www.gitignore.io/api/emacs
Существует также документация, демонстрирующая, как запустить gi
из командной строки.