【问题标题】:.gitignore_global is not working, even .gitconfig shows the .gitignore_global.gitignore_global 不起作用,即使 .gitconfig 显示 .gitignore_global
【发布时间】:2015-12-05 20:29:13
【问题描述】:

我创建了.gitignore_global 文件并将其保存到我拥有.gitconfig 文件的目录中。

在那之后,我使用了这个命令。

git config --global core.excludesfile .gitignore_global

然后我使用命令检查了我的 .gitconfig 文件

cat .gitconfig

结果显示为

[user]
        email = hemant.parihar264@gmail.com
        name = Hemant Parihar
[gui]
        recentrepo = C:/Users/heman/gitprojects
        recentrepo = E:/Inspiration/developerquery
[filter "lfs"]
        clean = git-lfs clean %f
        smudge = git-lfs smudge %f
        required = true
[core]
        excludesfile = .gitignore_global

它清楚地显示在 [core] 部分中,有.gitignore file。 但是在我的项目存储库中,我创建了一个在配置 .gitignore_global 时应该被忽略的文件。但这不应该发生。但是当我在项目中使用本地 .gitignore 文件时,它可以正常工作并忽略不应跟踪的文件。

我的项目存储库目录是 E:/Inspiration/server/explore_california.gitignore_global 在我的主目录(.gitconfig 文件所在的位置。)。

我检查了this link,但没有找到任何有用的东西。

【问题讨论】:

  • 有什么理由不使用本地 .gitignore 文件吗?
  • 我只想将此规则分配给我的所有存储库。此外,当我使用本地 .gitignore 文件时,它也运行良好。
  • 虽然团队合作不是一个好主意。他们将拥有本地的 .gitignore,但没有您的全局文件。请谨慎使用。也许您正在寻找的是将 ~/ 放在 .gitconfig 文件中的 .gitignore_global 记录前面:excludesfile = ~/.gitignore_global
  • 感谢这一切 ~/ .

标签: git


【解决方案1】:

全局 gitignore 的路径必须是绝对路径,所以你可以在此处使用 shell 扩展并将其指定为 ~/.gitignore_global:

git config --global core.excludesfile ~/.gitignore_global

为了了解如果不使用绝对路径会发生什么,您必须了解 git 配置是如何工作的:每个存储库在 .git/config 中都有一个。此外,还有全球~/.gitconfig。来自这两个地方的配置值被合并(在发生冲突的情况下本地存储库设置优先)以生成一组配置设置。您可以通过在本地存储库中运行 git config -l 来检查它们。

因此配置始终是当前存储库的本地配置。因此,当您拥有“全局”排除文件的相对路径时,该路径将相对于您的存储库进行解释。

所以对于excludesfile = .gitignore_global,Git 会在您的本地存储库中查找文件gitignore_global。它会使用它以及普通的.gitignore 和存储库的.git/info/exclude

因此,您实际上可以将.gitignore_global 文件放入每个存储库,Git 会选择它。

所以既然要全局配置,就需要指定绝对路径。

【讨论】:

  • 是的。这是工作。但我想知道为什么它不起作用。 git config --global core.excludesfile .gitignore_global
  • @HemantParihar 添加了关于为什么需要绝对路径的更多解释。
猜你喜欢
  • 1970-01-01
  • 2015-12-06
  • 1970-01-01
  • 2019-11-08
  • 2015-02-18
  • 1970-01-01
  • 2019-12-01
  • 2023-03-04
  • 1970-01-01
相关资源
最近更新 更多