有没有办法git
不使用默认的 gitconfig 来运行命令?
例如,假设我在 gitconfig 中设置了一个自定义 diff 工具。如果我想使用默认工具git diff
(使用diff
?),我该怎么做?
谢谢!
答案1
使用带有.--ext-diff
的选项允许您指定不同的外部差异工具。git diff
--ext-diff
答案2
要忽略系统 Git 配置 (/etc/gitconfig),请将环境变量设置GIT_CONFIG_NOSYSTEM
为1
(或true
或yes
)。要忽略全局 Git 配置 (~/.gitconfig),请将环境变量设置 GIT_CONFIG_NOGLOBAL
为1
(或true
或yes
)。
例子: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
在等待具有足够权限的人修复它时使用有缺陷的文件。