在git中取消忽略目录中的文件

3

在我的.gitignore文件中,我有一条记录:

/build

哪种方法有效-整个目录被git忽略。现在,我只想打破这个规则,并将此文件/build/outputs/mapping/release/mapping.txt保留在git中。

我该怎么做?

1个回答

4

当前的gitignore规则为:

如果排除了文件所在的父文件夹,则无法重新包含该文件。

这意味着:

  • 您需要递归地忽略所有文件:即 '**'
  • 递归地排除所有文件夹:即 '**/'
  • 排除您想要的文件(这将起作用,因为其父文件夹也未被忽略)

结果:

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

使用 git check-ignore -v 命令(-v 很重要),检查忽略的内容和未被忽略的内容:

git check-ignore -v -- afile

@TimBiegeleisen 是的,gitignore规则很棘手。我刚测试了这个答案,它有效。git 2.8.1 - VonC
非常好的答案和解释!我刚刚将您的答案适应到我的新用例中。 - Vedant Agarwala

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接