git - 忽略 git 中的目录链?

标签 git file ignore gitignore glob

我需要忽略以下内容。

在像/a/b/c/d/e/f/g这样的路径中,我需要忽略/d/e/f/g。我还需要能够忽略 /d/e/f/g 出现在 a 下方的每个地方。我尝试了 d/e/f/g,但没有用。想法?

最佳答案

有趣的要求。我很好奇您的实际用例是什么。

应该做这样的事情的方式是在你需要排除的每个子树的父目录中单独的 .gitignore(git 读取所有 .gitignore 文件在树下)。

如果您真的想要一个.gitignore 文件...好吧,我还没有尝试过这个,但是按照gitignore doc 进行操作,它主要是一个典型的 shell glob,所以可能的工作方式类似于:

a/*/d/e/f/g
a/*/*/d/e/f/g
a/*/*/*/d/e/f/g

... 重复不断增加的星号,直到达到您期望它合理到达的最深处。

我想这里会有性能损失,但我不知道有多严重。对于过去 5 到 10 年内构建的任何系统上的大多数 repo 协议(protocol),可能不会引人注意。

关于git - 忽略 git 中的目录链?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3387455/

相关文章:

git - Bitbucket 上的服务器端 Hook

git - 如何知道 git 浅克隆的深度?

c - 为什么我的代码可以正常创建文本文件,但只读取文本的第一个字符串?

java - Android从xlsx读取数据

git - 忽略 git 中的文件,但在克隆项目时下载它

git - 我应该将 Visual Studio 2015 .vs 文件夹添加到源代码管理吗?

version-control - 你能在 Perforce 中 "ignore"一个文件吗?

Git fetch/pull/clone 卡在接收对象上

git - 尝试创建一个新的存储库,但 git 认为我是一个组织

c++ - 改进使用 MFC FindFile API 失败