所以现在我在我的中有一些别名~/.ssh/config
:
Host github_company_a
HostName github.com
Host github_company_b
HostName github.com
我直接使用别名:git clone git@github_company_a:<...>
。
但最近我发现了includeif
来自 gitconfig 的条目。
现在我有~/.gitconfig
这样的感觉:
[includeif "gitdir:~/Repos/company_a/"]
path = .gitconfig_company_a
[includeif "gitdir:~/Repos/company_b/"]
path = .gitconfig_company_b
对于 newo.gitconfig_company_a
和.gitconfig_company_b
only 都有条目来配置姓名和电子邮件:
[user]
name = Foo
email = [email protected]
所以现在我想知道:是否可以使用 gitconfig 文件将主机名转换为另一个值?
例如:假设我在~/Repos/company_a/
并从 github 克隆某些内容:[email protected]:<...>
。
因为我们有一个,所以.gitconfig_company_a
我们可以设置:
[user]
name = Foo
email = [email protected]
[host github.com]
replace = github_company_a
因此,当我找到正确的公司文件夹时,我不需要在克隆之前手动将存储库主机地址调整为正确的 SSH 别名。
谢谢你!
答案1
就是这样url.*.insteadOf
,并且它从你的例子来看是反向运作的:
[url "git@github_company_a:"]
insteadOf = [email protected]: