如何使用别名访问远程存储库?

时间:2016-03-02 15:56:03

标签: git config alias remote-access

因为我希望能够push使用多个身份/密钥进行编码。为此,我在~/.ssh/config中定义了一些别名:

#github.com default
Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_foo

#github.com-foo
Host github.com-foo
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_foo

#github.com-bar
Host github.com-bar
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_bar

...

要访问我的存储库,我使用别名,例如:

$ git remote add origin git@github.com-foo:MyOrganizationOrPersonalAccount/MyRepo.git
$ git remote -v
origin  git@github.com-foo:MyOrganizationOrPersonalAccount/MyRepo.git (fetch)
origin  git@github.com-foo:MyOrganizationOrPersonalAccount/MyRepo.git (push)

这已经很长时间了。现在(可能是因为我重新安装了操作系统)它不再有用了:

$ git fetch
Unable to open connection:
Host does not existfatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

可能导致此问题的原因以及如何使远程访问正常工作?

更新

我重新安装Git是为了避免,我正在使用OpenSSH客户端。现在它有效。所以我猜这个问题是由于使用plink作为SSH客户端造成的,不考虑~/.ssh/config设置。

1 个答案:

答案 0 :(得分:0)

前一段时间我收到了这个错误,为了解决这个问题,我删除了远程列表​​

git remote remove MyRemote

然后再次添加它,使用HTTP链接而不是ssh密钥

git remote add Http://URLToRepositoryHere