git-使用 gitconfig 切换存储库主机地址

git-使用 gitconfig 切换存储库主机地址

所以现在我在我的中有一些别名~/.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_bonly 都有条目来配置姓名和电子邮件:

[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]:

相关内容