Условный Гитиньор

У меня есть git-репо, в котором я храню свои личные документы. Некоторые из этих документов являются файлами LaTeX, а некоторые даже являются PDF-файлами. Я, конечно, хочу, чтобы они были в моем репо документов.

Но когда я создаю документ в режиме орг (*.org), Я часто создаю его, в результате чего эти файлы создаются, если документ в режиме org называется α:

  • α.tex
  • α.pdf
  • Авто /α.el

Я не хочу отслеживать их, поскольку они являются сгенерированными файлами, исходный код которых у меня есть, но я не могу просто игнорировать все *.tex и даже не все *.pdf файлы.

Может .gitignore нужно игнорировать каждый файл с именем α.tex или же α.pdf если есть файл с именем α.org с α быть переменной для произвольной строки?

1 ответ

Решение

Это невозможно, .gitignore это довольно простой файл и не допускает никаких условных правил.

Тем не менее, в целом, хорошей идеей является подготовка системы сборки для генерации всех промежуточных файлов в некоторый каталог сборки. Часто используется build или же target, Тогда вы могли бы просто положить в .gitignore:

/target # / specifies the root path
/auto # probably your temporary files...?

Если компиляция выполняется с помощью Makefile, правила могут выглядеть следующим образом:

target/%.pdf: target/%.tex
         $(LATEX) -o $@ $<
target/%.tex: %.org
         generate_tex -o $@ $<

(не уверен так много о синтаксисе для латекса и, конечно, конкретной команды для генерации *.tex от *.org)

Другие вопросы по тегам