在一台计算机上的一台Git中切换用户身份[重复]

ijxebb2r  于 2023-08-01  发布在  Git
关注(0)|答案(2)|浏览(99)

此问题已在此处有答案

Can I specify multiple users for myself in .gitconfig?(24回答)
9年前关闭。
我在GitHub上有一个仓库,就叫Repo-1吧。
我想首先以默认Git用户的身份访问该仓库。
让我们称这个用户为User-1
我创建了SSH密钥对,一切正常,工作正常
我在GitHub上做了ANOTHER仓库,就叫它Repo-2吧。
没有在本地Git中做任何更改,在我的笔记本电脑上。没有结构变化,什么都没有。
现在-我想从Repo-1克隆作为User-2(但来自同一台笔记本电脑)。
首先:这到底有没有可能做到呢?
一台笔记本电脑上的本地Git可以在“用户帐户”之间切换并将其显示为User-2吗?然后,从那个身份,从Repo-1克隆,做一些改变,然后推到Repo-1
如果可能的话,我该怎么做?

a6b3iqyw

a6b3iqyw1#

您有global .gitconfig,其中已经配置了SSH密钥/用户信息。global .gitconfig会被本地gitconfig --你的.git文件夹中的“config”文件覆盖(如果它不存在,你可能需要创建它)。
例如,你可以将.gitconfig文件复制到.git文件夹中(并将其重命名为“config”),然后只更改你想要更改的行(可能是github.user和github.token),或者你创建一个新文件,其中只有这两行。
如果你更喜欢命令行“git config”,你可以通过省略“--global”选项来避免所有的文件移动。

ioekq8ef

ioekq8ef2#

您需要确定您实际上是有两个ssh密钥对,还是只有两个您想要使用的电子邮件。ssh密钥对链接到帐户,如here所述。
ssh密钥对(特别是私钥)基本上允许你的git客户端连接到github,从而允许推送。这与用户标识是分开的,用户标识只是提交消息中的电子邮件。
如果您有两个ssh密钥对,每个密钥对都链接到一个帐户,请按照these说明创建~/.ssh/config文件。关键部分是为每个帐户使用不同的ssh伪主机:

# 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

字符串
然后使用两个相应的remote:

git clone git@github.com:joe/my_repo.git


和/或

git clone git@github-client:client/his_repo.git


如果你只想使用两封电子邮件,你可以只给予每个克隆一个单独的.git/config与所需的[user]设置。

相关问题