在一台计算机上的一个Git中切换用户身份
我在GitHub上有一个仓库,我们称之为Repo-1 。 
我想首先访问该存储库作为默认的Git用户 。
 我们称这个用户为User-1 。 
我创build了SSH密钥对 ,一切正常, 工作很好 。
 我在GitHub上创build了另一个仓库,我们称之为Repo-2 。 
我在笔记本电脑上没有对本地Git进行任何更改 。 没有configuration变化,什么都没有。
 现在 – 我想从Repo-1 克隆 User-2 (但来自同一台笔记本电脑 )。 
首先:这是可以做的吗?
 一台笔记本电脑上的本地Git可以在“用户帐户”之间切换,并将其本身显示为User-2 ? 然后,从这个身份,从回购1克隆,做一些改变,然后推到Repo-1 ? 
如果可能的话,我该怎么做?
你有你的全局.gitconfig你已经configuration你的SSH密钥/用户信息。 全局.gitconfig被本地gitconfig覆盖 – 在.git文件夹中的文件“config”(如果它不存在,你可能需要创build它)。
例如,您可以将.gitconfig文件复制到.git文件夹中(并将其重命名为“config”),只需更改要更改的行(可能是github.user和github.token),或者只用新创build的文件它的两条线。
如果你喜欢命令行“git config”,你可以通过省略“–global”选项来避免所有的文件移动。
你需要确定你是否真的有两个SSH密钥对,或者只是两个你想使用的邮件。 一个ssh密钥对与这里描述的账户链接。
SSH密钥对(特别是私钥),基本上给你的git客户端连接到github的权限,从而允许推送。 这与用户标识是分开的,这就是您提交消息中的电子邮件。
 如果您有两个ssh密钥对,每个都链接到一个帐户,请按照以下说明创build~/.ssh/config文件。 关键部分是为每个帐户使用不同的ssh psuedo-host: 
 # Default GitHub user (joe) Host github.com HostName github.com User git IdentityFile /Users/joe/.ssh/id_rsa # Client user (client) Host github-client HostName github.com User git IdentityFile /Users/joe/.ssh/id_rsa_client 
然后,您使用两个相应的遥控器:
 git clone git@github.com:joe/my_repo.git 
和
 git clone git@github-client:client/his_repo.git 
 如果你只想使用两个电子邮件,你可以给每个克隆一个单独的.git/config所需的[user]设置。