.git/info/exclude 和 .gitignore 之间的区别
Difference between .git/info/exclude and .gitignore
当我从 GitLab 克隆一个 repo 到本地时,它连同源代码也在根文件夹调用者 .gitignore
中提取了一个文件。
还有一个名为 .git
的文件夹,其中包含 info
中的一个目录,其中包含一个名为 exclude
的文件。
忽略的是哪一个(对我来说忽略和排除的意思相同)?是忽略还是排除?
它们都包含 "ignore rules" - 应忽略匹配的未跟踪文件的文件名模式。
区别在于 .gitignore
中的规则是通过 repo 共享的,而 info/exclude
中的规则不是。因此,如果出于某种原因您需要 本地 忽略单个克隆中的某些路径,您可以使用 info/exclude
;但是如果在 all 克隆中应该忽略一个路径,你可以使用 .gitignore
尽管问题不在于“.gitignore”或 "info/exclude" 哪个更好,但需要注意的一件事是 "gitignore" 是即时的而不是排除。它在声明过程中立即生效,而 "gitignore" 在克隆存储库时在开始时生效。
当我从 GitLab 克隆一个 repo 到本地时,它连同源代码也在根文件夹调用者 .gitignore
中提取了一个文件。
还有一个名为 .git
的文件夹,其中包含 info
中的一个目录,其中包含一个名为 exclude
的文件。
忽略的是哪一个(对我来说忽略和排除的意思相同)?是忽略还是排除?
它们都包含 "ignore rules" - 应忽略匹配的未跟踪文件的文件名模式。
区别在于 .gitignore
中的规则是通过 repo 共享的,而 info/exclude
中的规则不是。因此,如果出于某种原因您需要 本地 忽略单个克隆中的某些路径,您可以使用 info/exclude
;但是如果在 all 克隆中应该忽略一个路径,你可以使用 .gitignore
尽管问题不在于“.gitignore”或 "info/exclude" 哪个更好,但需要注意的一件事是 "gitignore" 是即时的而不是排除。它在声明过程中立即生效,而 "gitignore" 在克隆存储库时在开始时生效。