在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.name
和user.email
用于在每次提交时编写提交作者。将这些价值观留给你想在你的历史中拥有的作者。