Git 个人和工作资料的 includeIf 不起作用
Git includeIf for personal and work profiles doesn't work
我一直在用谷歌搜索这个问题,尝试了不同来源的不同方法...但它不起作用。
我想使用我的个人资料(定义为“git config --global user.email ...”)推送提交,除非我在我的工作文件夹中。
我的 .gitconfig 的内容位于 C:/Users/my-user/
[user]
name = Personal
email = personal@personal.com
[includeIf "gitdir: F:/Work/CompanyName/"]
path = F:/Work/CompanyName/.gitconfig-work
我的 .gitconfig-work 的内容位于 F:/Work/CompanyName/
[user]
name = Work
email = work@work.com
当我从位于:
的工作转到克隆存储库时
F:/Work/CompanyName/Project
我使用:
git config --show-origin --get user.email
它显示:
file:C:/Users/<my-user>/.gitconfig
而不是我定义的路线工作。
感谢您的帮助。
✨ 对于未来的 google 员工
我创建了一个 gist 解释步骤。
您需要删除一个 space 在:
[includeIf "gitdir: F:/Work/CompanyName/"]
即,读作:
[includeIf "gitdir:F:/Work/CompanyName/"]
注意gitdir
后面的冒号和要测试的路径名之间没有空格。
(你的 Git 也需要至少是 2.13 版本。你可以考虑使用 gitdir/i:f:/work/companyname/
这样你在这里不区分大小写,假设你的主机系统也不区分大小写,正如 F:
部分所建议的那样。)
我一直在用谷歌搜索这个问题,尝试了不同来源的不同方法...但它不起作用。
我想使用我的个人资料(定义为“git config --global user.email ...”)推送提交,除非我在我的工作文件夹中。
我的 .gitconfig 的内容位于 C:/Users/my-user/
[user]
name = Personal
email = personal@personal.com
[includeIf "gitdir: F:/Work/CompanyName/"]
path = F:/Work/CompanyName/.gitconfig-work
我的 .gitconfig-work 的内容位于 F:/Work/CompanyName/
[user]
name = Work
email = work@work.com
当我从位于:
的工作转到克隆存储库时F:/Work/CompanyName/Project
我使用:
git config --show-origin --get user.email
它显示:
file:C:/Users/<my-user>/.gitconfig
而不是我定义的路线工作。
感谢您的帮助。
✨ 对于未来的 google 员工
我创建了一个 gist 解释步骤。
您需要删除一个 space 在:
[includeIf "gitdir: F:/Work/CompanyName/"]
即,读作:
[includeIf "gitdir:F:/Work/CompanyName/"]
注意gitdir
后面的冒号和要测试的路径名之间没有空格。
(你的 Git 也需要至少是 2.13 版本。你可以考虑使用 gitdir/i:f:/work/companyname/
这样你在这里不区分大小写,假设你的主机系统也不区分大小写,正如 F:
部分所建议的那样。)