我在这上面阅读了各种各样的帖子,我无法让它发挥作用。
在我的.ignore文件中
*/[Ll]ogs/*
虽然我已经尝试了大约十几个其他版本,但是没有明确命名文件,我仍然在提交这些文件
新文件:src / methodfitness.web / Logs / Trace.log.2012-03-15
我也有一个类似的问题,帮助一个同事排除他的web.config文件,但现在这是他的问题,我只是不想要这些血腥的日志文件。
感谢,
[R
答案 0 :(得分:9)
模式*/[Ll]ogs/*
只匹配一级依赖的日志文件夹。你的深度是3级。你还说“.ignore文件”,我希望你的意思是“.gitignore”。无论如何,您可以通过以下四种方式解决此问题:
将模式更改为src/*/[Ll]ogs/*
将模式*/[Ll]ogs/*
放入src/.gitignore
而不是您的根.gitignore
将模式更改为[Ll]ogs/
。这将忽略整个树中名为“Logs”或“logs”的任何目录。如果您只想忽略特定域文件夹中此名称的目录,这可能不合适。
将模式*
放入src/methodfitness.web/Logs/.gitignore
。这将忽略该文件夹中的所有文件。这种方法的好处是git在进行结账时仍然会创建Logs
文件夹,这可能是也可能不是你想要发生的事情。如果您这样做,请确保明确添加.gitignore
文件,否则最终会忽略它。
在相关说明中,不需要尾随*
。您可以使用忽略模式指示目录,它将跳过整个目录。您希望尾随*
的唯一时间是您需要能够取消忽略特定文件(使用前缀!
语法,例如!*/[Ll]ogs/goodfile.txt
)
答案 1 :(得分:1)
您可以使用[Ll]ogs/
作为忽略模式。
将该模式放在目录结构根目录的.gitignore
文件中应忽略目录树中任何位置名为Logs
或logs
的所有目录。
答案 2 :(得分:1)
你为什么用这么奇怪的方法?
要忽略src/methodfitness.web/Logs/
文件夹下的所有文件,请尝试将.gitignore文件添加到相应的行:src/methodfitness.web/Logs/
答案 3 :(得分:1)
为了忽略工作副本中任何深处的所有日志目录(以及内容),您只需阅读gitignore man mage并采用忽略foo的示例来自man-page的dir。
对于根平原中的.gitignore
logs/
模式诀窍
答案 4 :(得分:0)
您还可以使用git-scm (git version 2.16)
文档中所述的双星号。例如
**/[Ll]ogs
两个与完整路径名匹配的连续星号(“ **”)可能具有特殊含义:
前导“ **”后跟斜杠表示在所有目录中均匹配。例如,“ ** / foo”可在任何位置匹配文件或目录“ foo”, 与模式“ foo”相同。 “ ** / foo / bar”匹配文件或目录“ bar” 直接在目录“ foo”下的任何位置。
后缀“ / **”匹配其中的所有内容。例如,相对于.gitignore文件的位置,“ abc / **”匹配目录“ abc”内的所有文件的深度是无限的。
一个斜杠后跟两个连续的星号,然后一个斜杠匹配零个或多个目录。例如,“ a / ** / b”匹配“ a / b”,“ a / x / b”,“ a / x / y / b”等。
其他连续的星号被视为无效。