Gya*_*eep 16 windows git git-bash
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
Run Code Online (Sandbox Code Playgroud)
的.gitconfig工作
[user]
name = Gyandeep Singh
email = corporate@email.com
Run Code Online (Sandbox Code Playgroud)
发生了什么:在公司文件夹内的文件夹(示例测试)上打开CLI,然后运行git config user.email输出private@email.com.
预期:结果应该是corporate@email.com.
我做错了什么或者我的期望不正确吗?我确实遵循了git文档.
你必须git config --show-origin --get user.email在git初始化目录上运行.如果它没有初始化git那么includeIf gitdir功能将不起作用.
它奇怪但真实.我希望它仍然奏效.
rap*_*olt 22
你的全球C:/Users/<user-name>/.gitconfig应该有includeIf:
[includeIf "gitdir:C:/Users/<user-name>/Documents/webstorm/corporate/"]
path = .gitconfig-work
Run Code Online (Sandbox Code Playgroud)
有你的工作Git repos in C:/Users/<user-name>/Documents/webstorm/corporate和conditional工作配置应位于C:/Users/<user-name>/.gitconfig-work.
这至少在Window的cmd和Cmder中为我工作.A git config --show-origin --get user.email应该显示加载/解析配置值的位置.
似乎conditional工作配置仅在从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
Run Code Online (Sandbox Code Playgroud)
Paw*_*och 18
您需要关闭区分大小写:更改"gitdir:"为"gitdir/i:"
[includeIf "gitdir/i:C:/Work/"]
path = .gitconfig-work
[includeIf "gitdir/i:C:/My/Dev/"]
path = .gitconfig-my
Run Code Online (Sandbox Code Playgroud)
从:
https://github.com/Microsoft/vscode/issues/62921#issuecomment-437693020
接受的答案尽管很有帮助,但却没有回答这个问题.
在撰写本文时,includeIf仅适用于git初始化文件夹.
因此,如果您进入"〜/ Documents/webstorm/corporate/somegitproject"并运行该命令,输出将按预期进行:
$ cd ~/Documents/webstorm/corporate/somegitproject
$ git config user.email
corporate@email.com
Run Code Online (Sandbox Code Playgroud)
这可能是针对git的一个缺陷,因为用户希望在"〜/ Documents/webstorm/corporate /"中也能这样做.
这里有一个错字:
[includeIf "gitdir: ~/Documents/webstorm/corporate/"]
path = .gitconfig-work
Run Code Online (Sandbox Code Playgroud)
后面不应该有空格gitdir::
[includeIf "gitdir:~/Documents/webstorm/corporate/"]
path = .gitconfig-work
Run Code Online (Sandbox Code Playgroud)
删除它将更正初始化的 Git 存储库中的行为。
这将显示整个 Git 配置以及它来自哪些 Git 配置文件:
git config --list --show-origin
Run Code Online (Sandbox Code Playgroud)
警告:如果您在 Git 存储库中运行它,它将显示来自.gitconfig-work 的值,但如果您在~/Documents/webstorm/corporate/ 中,但在 Git 存储库之外,则不会显示。
| 归档时间: |
|
| 查看次数: |
3204 次 |
| 最近记录: |