从不同的git本地配置访问不同的github帐户



在github.com 中有两个不同的用户

  • "用户一";(one@mail.com)
  • "用户二";(two@mail.com)

每个用户都有自己的存储库,其中包含不同的项目帐户

  • https://github.com/user-one/repo-one.git
  • https://github.com/user-two/repo-two.git)

现在我在电脑上:我想将本地配置设置为

  • "文件夹一";目标repo-one上传项目变更,因此:
    • git-config--本地用户名称"用户一">
    • git-config—本地用户电子邮件one@mail.com
  • "文件夹二";目标回购二上传项目变更,因此:
    • git-config--本地用户名称"用户二">
    • git-config—本地用户电子邮件two@mail.com

当我按下";回购一";GitHub在我的计算机中安装凭据(如git:https://github.com)这让我只能上传对该回购的更改。

问题

我可以解决每次推送到不同的转发时擦除凭据的问题,但有更好的方法吗?用什么方法保存每个新用户的数据来代替拒绝我访问?

溶液比例

如何让GitHub知道我将处理不同的账户,这些账户将向他们推送各自不同的转发?

使用两个不同的帐户进行推送:

一种方法是:在本地.ssh/config中定义两个Host部分,这两个部分都将以github为目标,但使用不同的密钥:

Host ghuser1
Hostname github.com
User git
IdentityFile path/to/user1/publickey
Host ghuser2
...

然后,您可以将两个遥控器设置为ghuser1:[user]/[repo]ghuser2:[user]/[repo]

[edit]在介质上挖掘出了这个更详细的链接:为不同的GitHub帐户使用多个ssh密钥
来自另一个SO问题:在配置中从特定主机更新git子模块


请注意,user.nameuser.email用于在每次提交时编写提交作者。将这些价值观留给你想在你的历史中拥有的作者。

最新更新