2016-05-13 241 views
2

文件在我.gititnore我有一個條目:取消忽略了一個被忽略的目錄中的git

/build 

哪個良好的整個目錄的工作原理是通過混帳忽略。現在,我只想對此規則進行例外,並將此文件/build/outputs/mapping/release/mapping.txt保存在git中。

我該怎麼做?

回答

2

爲gitignore目前的規則是

It is not possible to re-include a file if a parent directory of that file is excluded.

這意味着:

  • 你需要遞歸忽略所有的文件:那就是 '**'
  • 排除一切文件夾遞歸:這些是'**/'
  • 排除所需的文件(這將工作,因爲它的父文件夾沒有忽視爲好)

結果:

/build/** 
!/build/**/ 
!/build/outputs/mapping/release/mapping.txt 

檢查是什麼,是不是git check-ignore -v忽略(-v是重要的):

git check-ignore -v -- afile 
+0

@TimBiegeleisen是的,gitignore規則是棘手的。我只是測試了這個答案,它的工作原理。 git 2.8.1 – VonC

+0

偉大的答案+很好的解釋!剛剛適應你的答案,我的新用例 – vedant1811