2017-07-02 49 views
3

準確地說,有一個包含* .el和* .org文件的項目。執行時,從每個file.org生成一個file.el文件。現在正在編寫.gitignore。有沒有一種可能說任何file.el應被忽略只有 file.org是存在的,否則軌道 file.elGit:僅當file.ext2存在時才忽略file.ext1

This並不能解決問題。沒有寫每一個文件在.gitignore

+2

你有沒有考慮過修改版本,以便生成的文件放在一個單獨的文件夾? – Mic

+0

我同意@Mic,我認爲這更像是一個流程問題,除了/ generated,還有額外的任務來填充該/ dist文件夾,您可以擁有一個額外的文件夾,例如/ dist。所以生成的文件仍然被忽略,但不包含/ dist文件夾中的文件。 – chenrui

回答

1

不與gitignore(我不知道條件忽略規則)。如果file.org存在

  • ,如果是的話,使用git update-index --no-assume-unchanged file.el
    • 找到所有file.el
    • 爲每個文件,測試:

      一種解決方法將是一個bash腳本(作品甚至在Windows上),這將

    (或git skip-worktree --no-assume-unchanged file.el:詳見 「Difference Between 'assume-unchanged' and 'skip-worktree'

    但是,正如所評論的那樣,將生成文件與dist文件分開將更容易,只有前者被忽略。