Git版本:2.13.0.windows.1
操作系统:Windows 7
CLI:Git bash
的.gitconfig
[user] name = Gyandeep Singh email = private@email.com [push] default = current [core] autocrlf = input [includeIf "gitdir: ~/Documents/webstorm/corporate/"] path = .gitconfig-work
的.gitconfig工作
[user] name = Gyandeep Singh email = corporate@email.com
>上面的配置文件都位于同一目录(home)中.
发生了什么:在公司文件夹内的文件夹(示例测试)上打开CLI,然后运行git config user.email,输出为private@email.com.
预期:结果应为corporate@email.com.
我做错了什么或者我的期望不正确吗?我确实遵循了git文档.
解
你必须在git初始化目录上运行git config –show-origin –get user.email.如果它没有初始化git,那么includeIf gitdir功能将无效.
它奇怪但真实.我希望它仍然奏效.
您的全局C:/ Users /< user-name> / .gitconfig应具有以下includeIf:
原文链接:https://www.f2er.com/windows/364709.html[includeIf "gitdir:C:/Users/<user-name>/Documents/webstorm/corporate/"] path = .gitconfig-work
将您的工作Git存储在C:/ Users /< user-name> / Documents / webstorm / corporate中,条件工作配置应位于C:/ Users /< user-name> / .gitconfig-work.
这至少在Window的cmd和Cmder中为我工作. git config –show-origin –get user.email应该显示加载/解析配置值的位置.
似乎条件工作配置仅在从Git存储库中发出时使用.
C:\Users\<user-name>\Documents\webstorm\corporate λ git config --show-origin --get user.email file:C:/Users/<user-name>/.gitconfig foo@oss.com C:\Users\<user-name>\Documents\webstorm\corporate\some-repo λ git config --show-origin --get user.email file:C:/Users/<user-name>/.gitconfig-work foo@company.com C:\Users\<user-name>\Documents\webstorm\corporate\some-non-repo-dir λ git config --show-origin --get user.email file:C:/Users/<user-name>/.gitconfig foo@oss.com