如果我将模式放在带有前导斜杠的.gitignore
文件中,斜杠是指.gitignore
文件所在的目录,还是引用整个根目录?存储库
(我发现的手册页已经仔细隐藏了这些信息。)
答案 0 :(得分:29)
- 前导斜杠与路径名的开头匹配。例如,“/ *。c。”匹配“cat-file.c” 但不是“mozilla-sha1 / sha1.c”。
这些是我的猜测:
如果您使用in-repository - .gitignore
,.gitignore
所在的目录
找到了 - 使它相对于存储库根目录并没有多大用处。
在存储库根目录和子目录中使用同名文件的简短实验(和
同一目录中的.gitignore
确认了这一点。
如果您使用.git/info/exclude
或core.excludesfile
,我认为它是相对的
到存储库根目录。
这也是(对于信息/排除)由同一测试确认的(对1.7.3.4的两个测试)。
Schnouki找到了关于此的文档的正确部分(强调我的):
- [...]
- 从与路径相同的目录中的
.gitignore
文件读取的模式,或者在 任何父目录,在较高级别文件中具有模式(直到顶层 工作树)被低层文件中的那些覆盖到了 包含该文件的目录。 这些模式相对于位置匹配.gitignore
文件。项目通常包含此类.gitignore
个文件 存储库,包含作为项目构建的一部分生成的文件的模式。- [...]
可以说,为了清楚起见,可以在上面引用的后面部分再次重复这一事实。