处理多个GIT账户

时间:2016-12-11 03:00:23

标签: git github

我自己的git帐户和两个不同客户的git帐户。我试图提交,推送或提取我的帐户,但它会出现错误"permission to git is denied."任何人都可以指导我如何处理多个git帐户。

由于

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

我用以下技巧做到这一点。

~/.ssh/config

中的

有与此类似的行

Host gh-account1
    HostName github.com
    User git
    IdentityFile ~/.ssh/account1_rsa
Host gh-account2
    HostName 176.126.246.157
    User git
    IdentityFile ~/.ssh/account2_rsa

然后使用gh-account2:user / repo.git而不是URL github (这是使用ssh网址的克隆,但git@github.com替换为gh-account2

如果您需要使用2个帐户推送到同一个仓库,则需要添加多个远程

git remote add account1 account1:user/repo.git

然后你可以去

git push account1 <branch>

你可以使用https linsk(他们每次都要求提供帐户名和密码)这样做但是为了推送代码而进行了很多打字

答案 2 :(得分:0)

  • 转到〜/ .ssh
  • 创建名为config(没有扩展名)的文件
  • 打开配置文件&amp;添加以下代码。 (根据您的帐户更改)

    1. 帐户1

      # account_1
      Host gitlab.com-account_1
      HostName gitlab.com
      User git
      PreferredAuthentications publickey
      IdentityFile ~/.ssh/id_rsa_account_1
      
    2. 帐户2

      # Account2
      Host gitlab.com-Account2
      HostName gitlab.com
      User git
      PreferredAuthentications publickey
      IdentityFile ~/.ssh/id_rsa_Account2
      
    3. 帐户3

      # Account_3
      Host github.com
      HostName github.com
      User git
      PreferredAuthentications publickey
      IdentityFile ~/.ssh/id_rsa_Account_3
      
  • 按如下方式添加远程网址

    1. 帐户1

      git remote add origin git@gitlab.com-account_1:group_name/repo_name.git
      
    2. 帐户2

      git remote add origin git@gitlab.com-Account2:group_name/repo_name.git
      
    3. 帐户3

      git remote add origin git@github.com:github_username/repo_name.git
      
  

确保IdentityFile名称与在ssh密钥生成期间创建的名称相同。