git - 你什么时候会使用 .git/info/exclude 而不是 ~/.gitignore (core.excludesFile) 来排除文件?

标签 git version-control gitignore

我有点困惑你什么时候会使用 .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/

相关文章:

git - git 将 master merge 到当前分支的快捷方式

Git + 轨道 : How to restore files deleted with "git rm -r"?

version-control - merge 选定的更改

git - 如何在 git 存储库中找到未跟踪(和未忽略)文件的完整列表?

Git pull .gitignore 中的文件

git - 添加 *,但 sibling 被忽略

Git子模块分离头状态

python - 有没有办法绕过 Git 将 local_settings.py 放到 Heroku 中?

Git - 当你改变分支时文件去哪里了?

Xcode 不会 promise GIT