首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用和不使用/dir和/ .gitignore /等尾部斜杠的目录规则之间的差异

使用和不使用/dir和/ .gitignore /等尾部斜杠的目录规则之间的差异
EN

Stack Overflow用户
提问于 2013-07-27 02:39:57
回答 1查看 11.8K关注 0票数 87

在Git仓库的.gitignore文件中,/dir/dir/有什么不同吗?

以下内容有何不同?

代码语言:javascript
复制
/dir
/dir/
/dir/*
EN

回答 1

Stack Overflow用户

发布于 2016-07-25 12:12:22

这是一个古老的问题,但在谷歌上排名很高,投票最多的答案是wrong。这是正确的答案。

是的,这些规则是不同的。

  • /dir将匹配文件、目录、链接,名为dir
  • /dir/的任何内容都将匹配仅名为dir
  • /dir/*的目录将匹配名为dir的目录中的所有文件、目录和任何其他内容(但不是dir目录本身)。

/dir/dir//dir/*而不是的等价物。当使用覆盖规则时,区别是非常明显的,比如著名的!.gitkeep,它绕过了跟踪空目录的限制。假设文件dir/.gitkeep存在

  • 使用/dir/dir/时,Git甚至不会查看目录内部,因此看不到.gitkeep
  • 使用/dir/*时,Git将检测到文件,并且如果提交了此.gitkeep,则会保留目录,因为该规则不适用于目录本身,而只适用于其内容。<代码>H233<代码>F234

由于前缀为/,上面提到的所有规则都锚定在当前目录( .gitignore所在的位置)。如果没有前缀,这些规则不仅适用于该特定目录,而且还适用于子目录或存储库中的所有位置(如果.gitignore位于根级别)。

票数 91
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17888695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档