2016-12-13 82 views
5

我有我存儲我的個人文檔的混帳回購協議。其中一些文檔是LaTeX文件,有些甚至是PDF文件。我當然希望他們在我的文件回購。條件Gitignore

但是,當我創建的組織模式文件(*.org),我經常構建它,導致這些文件被創建,如果組織模式的文檔稱爲α

  • α.tex
  • α.pdf
  • 自動/α.el

我不想跟蹤他們,因爲他們產生這些我的源代碼文件,但我不能簡單地忽略所有*.tex而不是全部*.pdf文件。

能否在.gitignore被告知忽略其名稱是α.texα.pdf如果有一個叫α.orgα是一個任意字符串變量文件中的每個文件?

+0

而不是忽略這些文件,可能會更容易將它們刪除:http://emacs.stackexchange.com/questions/23982/cleanup-org-mode-export-intermediary-file – Jules

+2

buil d在gitignore文件中將被忽略的文件夾內的文件。 –

+0

@Jules不起作用。該方法擺脫了'* .tex'文件,可以擺脫'* .pdf'文件,但我想使用後者。此外,該方法不能刪除'* .el'文件,可能是因爲它位於不同的目錄中。我可以看到EMAC的一側的解決方案如何是可能的,但如果有可能的文件建立與特定名稱的目錄(不要緊,無論它是對所有文件沒有磨砂其位置或不管它是在同一目錄* .org'文件的位置,它只需要一個特定的名稱),這將解決問題。 –

回答

3

這是不可能的,.gitignore是相當簡單的文件,並且不允許任何條件規則。

然而,總體上是好的想法是準備構建系統產生的所有中間文件到一些build目錄。通常使用buildtarget。然後,你可以簡單地說成.gitignore

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

如果編譯與Makefile文件完成後,規則是這樣的:

target/%.pdf: target/%.tex 
     $(LATEX) -o [email protected] $< 
target/%.tex: %.org 
     generate_tex -o [email protected] $< 

(不知道這麼多關於語法乳膠,當然具體的生成*.tex的命令從*.org