【发布时间】:2021-12-10 01:09:15
【问题描述】:
我一直在网上阅读,但还是有点困惑。在为我的本地设置运行以下配置后。将来我是否需要再次为任何项目创建 gitignore?
git config --global core.excludesfile %USERPROFILE%\.gitignore
有没有办法设置动态配置,文本文件将根据当前更改进行更新?
【问题讨论】:
标签: git version-control gitignore
我一直在网上阅读,但还是有点困惑。在为我的本地设置运行以下配置后。将来我是否需要再次为任何项目创建 gitignore?
git config --global core.excludesfile %USERPROFILE%\.gitignore
有没有办法设置动态配置,文本文件将根据当前更改进行更新?
【问题讨论】:
标签: git version-control gitignore
core.excludesfile 与.gitignore 文件类似,但用途不同。 .gitignore 文件是特定于项目的,它旨在包含项目想要忽略的各种内容,通常是因为它们是构建产品。例如,用 C 编写的项目可能希望忽略构建的二进制或共享库,以及任何匹配 *.o 或 *.obj 的文件。这些是您项目的每个用户都希望忽略的事情。
core.excludesfile 专为您个人希望忽略的模式而设计。例如,如果您使用 Vim,您可能希望忽略交换文件,以免意外签入它们。由于人们使用许多不同的编辑器,因此忽略每个不同类型的编辑器文件是没有意义的每个项目,所以这是一个忽略编辑器备份文件、标签文件和类似内容的机会。
还有第三组配置,位于.git/info/exclude。因为它在.git 目录中,所以它是特定于项目的,但它不是共享的。它适用于您需要为本地系统修改项目的包含模式的情况,但方式与其他系统无关。例如,我有一个项目,其中有一个 dotfile 来帮助我的编辑器找到项目的真正根目录,而这个文件是特定于我的配置的。
因此,要回答您的问题,如果您的项目有构建产品或其他特定于项目的数据要忽略,您仍然应该为您的项目编写 .gitignore 文件。无法动态或自动配置模式,但通常不需要这样做。
请注意,在您的情况下,您需要将模式写为~/.gitignore。 Git不会在config文件中扩展环境变量,但是通常~,代表主目录,会匹配USERPROFILE环境变量的值。
【讨论】: