1. 程式人生 > >在gitignore中設定不忽略的檔案(夾)

在gitignore中設定不忽略的檔案(夾)

常規的忽略就不說了,要說的是設定不忽略。
設定一個根目錄下的檔案不忽略可以這樣,沒有問題:

/*
!a.java

如果不是在根目錄下,比如 /a/b.java,設定這樣一個檔案不被忽略,卻是沒有用:

/*
!/a/b.
# exclude everything except directory foo/bar
/*
!/foo
/foo/*
!/foo/bar

那不忽略 /a/b.java 應該這樣寫:

/*
!/a
/a/*
!/a/b.java

那之前錯誤的原因應該是 !/a/b.java 其目錄被忽略了?

這麼寫是相當麻煩的,比如一個三級目錄,我只不忽略一個檔案/fileTemplates/includes/File Header.java

,就要這麼寫

/*
!/fileTemplates
/fileTemplates/*
!/fileTemplates/includes
/fileTemplates/includes/*
!/fileTemplates/includes/File Header.java

為什麼有這種需求,是為了同步 Intellij IDEA 的配置檔案。。。