我在GitHub上有一个存储库,我们称之为Repo-1。
我希望首先以默认Git用户的身份访问该存储库。
让我们把这个用户称为User-1。
我创建了SSH键盘,一切都很好,运行良好的。
我在GitHub上创建了另一个存储库,我们称之为Repo-2。
我并没有在我的笔记本电脑上对本地的Git做任何改变。没有任何构形的改变,什么也没有。
现在-我想从Repo-1克隆作为User-2 (但来自同一台膝上型电脑)。
首先,这有可能做到吗?
一台笔记本电脑上的本地Git能否在“用户帐户”之间切换,并将自己呈现为User-2?然后,从这个身份,从Repo-1克隆,做一些改变,然后推到Repo-1。
如果可能的话,我该怎么做?
发布于 2012-02-19 08:44:21
您拥有全局.gitconfig,您已经在其中配置了SSH /User Information。全局.gitconfig被本地gitconfig覆盖-- .git文件夹中的文件"config“(如果它不存在,就必须创建它)。
例如,您可以将.gitconfig文件复制到.git文件夹中(并将其重命名为"config"),只需更改要更改的行(可能是github.user和github.token),或者创建一个只包含其中两行的新文件。
如果您喜欢命令行"git“,则可以通过省略”--全局“选项来避免所有文件移动的内容。
发布于 2012-02-19 09:16:55
你需要确定你是否真的有两个ssh键盘,或者只是两封你想要使用的电子邮件。ssh键区链接到帐户,如描述的这里。
ssh键区(特别是私钥)基本上给了git客户端连接到github的权限,从而允许推送。这与用户身份是分开的,用户标识只是提交消息中的电子邮件。
如果您有两个ssh键盘,每个键都链接到一个帐户,请按照这些说明创建一个~/.ssh/config文件。关键部分是对每个帐户使用不同的ssh psuedo主机:
# 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]设置。
https://stackoverflow.com/questions/9347458
复制相似问题