GIT_CONFIG_NOSYSTEM

GIT_CONFIG_NOSYSTEM

有没有办法git不使用默认的 gitconfig 来运行命令?

例如,假设我在 gitconfig 中设置了一个自定义 diff 工具。如果我想使用默认工具git diff(使用diff?),我该怎么做?

谢谢!

答案1

使用带有.--ext-diff的选项允许您指定不同的外部差异工具。git diff--ext-diff

答案2

要忽略系统 Git 配置 (/etc/gitconfig),请将环境变量设置GIT_CONFIG_NOSYSTEM1(或trueyes)。要忽略全局 Git 配置 (~/.gitconfig),请将环境变量设置 GIT_CONFIG_NOGLOBAL1(或trueyes)。

例子:GIT_CONFIG_NOGLOBAL=1 git diff

这些选项自 ab88c36 起可用(允许抑制全局和系统配置,2008-02-06)。似乎知道它们的第一个版本(候选版本)是 1.5.5-rc0(git describe --contains ab88c36)。

答案3

用于GIT_CONFIG_NOGLOBAL=1 HOME= XDG_CONFIG_HOME= git diff确保 git 根本不读取任何外部配置。

来自官方文档

GIT_CONFIG_NOSYSTEM

是否跳过从系统范围$(prefix)/etc/gitconfig文件读取设置。$HOME此环境变量可与和一起使用$XDG_CONFIG_HOME以创建可预测的环境对于挑剔的脚本,或者您可以临时设置它以避免/etc/gitconfig在等待具有足够权限的人修复它时使用有缺陷的文件。

相关内容