在一台计算机上的一个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]
设置。