gpt4 book ai didi

git - .gitignore 规则之间有和没有尾部斜杠的区别,如/dir 和/dir/

转载 作者:IT王子 更新时间:2023-10-29 00:42:12 30 4
gpt4 key购买 nike

Git 存储库中.gitignore 文件中的/dir/dir/ 有区别吗?

以下有何不同?

/dir
/dir/
/dir/*

最佳答案

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

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

/dir/dir//dir/*等价的。区别在使用覆盖规则时非常清晰,比如著名的 !.gitkeep绕过跟踪空目录的限制。认为文件 dir/.gitkeep

的存在
  • 使用 /dir/dir/,Git 甚至不会查看目录内部所以 .gitkeep 不会被看到。
  • 使用/dir/*,文件会被Git和目录检测到如果这个 .gitkeep 被提交,将被保留,因为规则不适用于目录本身,仅适用于其内容。

观察:上面提到的所有规则都锚定在当前目录(.gitignore 所在的地方),因为 / 前缀。如果没有前缀,规则不仅适用于该特定目录,还适用于子目录或存储库中的任何地方,如果 .gitignore 位于根级别。

关于git - .gitignore 规则之间有和没有尾部斜杠的区别,如/dir 和/dir/,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17888695/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com