git - gitignore 全局配置到底有什么作用?

标签 git version-control gitignore

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

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

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

最佳答案

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

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

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

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

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

关于git - gitignore 全局配置到底有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69692970/

相关文章:

git - 从当前工作目录中未提交的更改创建一个 git 补丁

git - Visual Studio 不会撤消我的 git 更改

Visual Studio 2019 中的 Git 日志历史记录

git - 特定git命令的颜色输出

php - 在 CakePHP 项目中使用 Git

ios - Xcode .git 忽略

asp.net-mvc - 通过 Gitignore 递归包含 Nuget DLL

Git:如何从索引中删除文件而不从任何存储库中删除文件

git - 如何在 github 存储库中执行状态检查

version-control - 混合 WaveMaker/Java 项目 - 如何做?