我在GitHub上有一个存储库,让我们称之为.Repo-1
我想首先访问该存储库作为默认的Git用户.
我们打电话给那个用户User-1.
我创建了SSH密钥对,一切都很好,效果很好.
我在GitHub上创建了另一个存储库,让我们称之为.Repo-2
我没有在我的笔记本电脑上对本地Git进行任何更改.没有配置更改,没有.
现在-我要克隆自Repo-1为User-2(但在同一台笔记本电脑).
首先:这有可能吗?
一台笔记本电脑上的本地Git可以在"用户帐户"之间切换并呈现为自己User-2吗?然后,从这个身份,从Repo-1克隆,做出一些改变,然后推送到Repo-1?
如果可能,我该怎么做?
Moe*_*Moe 75
您已经在全局.gitconfig中配置了SSH密钥/用户信息.全局.gitconfig被本地gitconfig覆盖 - .git文件夹中的文件"config"(如果它不存在,则可能必须创建它).
例如,您可以将.gitconfig文件复制到.git文件夹中(并将其重命名为"config"),只需更改要更改的行(可能是github.user和github.token),或者只创建一个新文件它中的两条线.
如果您更喜欢命令行"git config",则可以通过省略"--global"选项来避免所有文件移动.
Mat*_*hen 52
您需要确定实际上是否有两个ssh密钥对,或者只是要使用两封电子邮件.描述一个SSH密钥对关联的帐户在这里.
ssh密钥对(特别是私钥),基本上赋予你的git客户端连接到github的权限,从而允许推送.这与用户身份是分开的,用户身份只是提交消息中的电子邮件.
如果您有两个ssh密钥对,每个密钥对都链接到一个帐户,请按照这些说明创建~/.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
Run Code Online (Sandbox Code Playgroud)
然后使用两个相应的遥控器:
git clone git@github.com:joe/my_repo.git
Run Code Online (Sandbox Code Playgroud)
和
git clone git@github-client:client/his_repo.git
Run Code Online (Sandbox Code Playgroud)
如果您只想使用两封电子邮件,则只需将每个克隆.git/config与所需[user]设置分开即可.
| 归档时间: |
|
| 查看次数: |
130460 次 |
| 最近记录: |