【问题标题】:What does a gitignore global config do exactly?gitignore 全局配置到底做了什么?
【发布时间】:2021-12-10 01:09:15
【问题描述】:

我一直在网上阅读,但还是有点困惑。在为我的本地设置运行以下配置后。将来我是否需要再次为任何项目创建 gitignore?

git config --global core.excludesfile %USERPROFILE%\.gitignore

有没有办法设置动态配置,文本文件将根据当前更改进行更新?

【问题讨论】:

    标签: git version-control gitignore


    【解决方案1】:

    core.excludesfile.gitignore 文件类似,但用途不同。 .gitignore 文件是特定于项目的,它旨在包含项目想要忽略的各种内容,通常是因为它们是构建产品。例如,用 C 编写的项目可能希望忽略构建的二进制或共享库,以及任何匹配 *.o*.obj 的文件。这些是您项目的每个用户都希望忽略的事情。

    core.excludesfile 专为您个人希望忽略的模式而设计。例如,如果您使用 Vim,您可能希望忽略交换文件,以免意外签入它们。由于人们使用许多不同的编辑器,因此忽略每个不同类型的编辑器文件是没有意义的每个项目,所以这是一个忽略编辑器备份文件、标签文件和类似内容的机会。

    还有第三组配置,位于.git/info/exclude。因为它在.git 目录中,所以它是特定于项目的,但它不是共享的。它适用于您需要为本地系统修改项目的包含模式的情况,但方式与其他系统无关。例如,我有一个项目,其中有一个 dotfile 来帮助我的编辑器找到项目的真正根目录,而这个文件是特定于我的配置的。

    因此,要回答您的问题,如果您的项目有构建产品或其他特定于项目的数据要忽略,您仍然应该为您的项目编写 .gitignore 文件。无法动态或自动配置模式,但通常不需要这样做。

    请注意,在您的情况下,您需要将模式写为~/.gitignore。 Git不会在config文件中扩展环境变量,但是通常~,代表主目录,会匹配USERPROFILE环境变量的值。

    【讨论】:

    • 非常感谢!那是非常有深度的,正是我需要听到的。祝你有个愉快的夜晚!
    猜你喜欢
    • 2022-11-10
    • 1970-01-01
    • 1970-01-01
    • 2011-12-10
    • 2016-10-26
    • 2017-04-20
    • 2012-05-19
    • 2019-09-05
    • 2012-10-06
    相关资源
    最近更新 更多