我有点困惑你什么时候会使用 .git/info/exclude
而不是 ~/.gitignore (core.excludesFile)
来排除文件?我很清楚何时使用项目存储库中存在的 .gitignore
文件,该文件特定于该项目,受版本控制并通过克隆与其他存储库共享,但我无法理解上述两个用户之间的区别要忽略的特定文件。
因此,我正在寻找 ~/.gitignore
和 .git/info/exclude
之间的区别,而不是 .gitignore(项目目录)
和 .git/info/exclude
。
更新:我想不出 .git/info/exclude
的具体用法,因为我想忽略的任何文件都属于 .gitignore
或 ~/.gitignore
。如果有人可以给出一个应该特别包含在 .git/info/exclude
中的模式/文件的示例,那将非常有帮助。
最佳答案
在全局忽略文件(~/.gitignore
或 $XDG_CONFIG_HOME/git/ignore
)中放置文件名或模式将抑制所有存储库中对此的投诉。在每个存储库忽略文件 (.git/info/exclude
) 中放置相同的名称或模式将仅抑制对该存储库的投诉。
这些都没有天生的优劣之分;他们只是不同。值得注意的是,古代 Git 仅支持存储库中的 .gitignore
和 .git/info/exclude
文件,即没有针对每个用户的全局 ~/.gitignore
.
如果您个人使用的编辑器制作的备份文件的名称以(例如)$
结尾,而不是 .bak
或 .~
,而其他人没有(并且其他人的备份文件已经在提交的 .gitignore
中),你可以将 *$
放在你的个人 ~/.gitignore
。如果你只在这个项目中使用这个编辑器,把它放在 .git/info/exclude
中可能更有意义。
如果项目本身产生了很多被忽略的文件,将这些名称放入提交到项目中的.gitignore
文件中是有意义的,但是如果有某种原因这不能完成,然后将这些模式放入.git/info/exclude
中是有意义的:在其他项目中不应忽略它们。
关于git - 你什么时候会使用 .git/info/exclude 而不是 ~/.gitignore (core.excludesFile) 来排除文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59673991/