2016-05-13 236 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