当前位置:   article > 正文

如何在计算机中设置两个用户,如何在一台计算机上拥有2个git用户?

git config有两个user

作为第二个用户有三个方面.

1. GitHub帐户

要将GitHub Web界面用作其他用户(例如,分叉存储库,提交拉取请求,发表评论),您需要登录其他帐户.*

提示:在帐户之间切换很麻烦,因为您每次都必须注销并登录.您可以使用私人浏览窗口,其他浏览器或其他浏览器配置文件同时登录两个帐户.

2. SSH身份验证

可以通过HTTPS或SSH访问GitHub存储库.两者都需要身份验证,GitHub使用它来实现permission levels.我将描述如何使用配置为以第二个用户身份验证的SSH克隆存储库.

Generate a new SSH key使用ssh-keygen -f KEYFILE,其中KEYFILE是新密钥的路径(例如〜/ .ssh / bob_rsa).

Add the SSH key到第二个用户的GitHub帐户.

SSH需要配置为使用〜/ .ssh / bob_rsa,但仅当您尝试将存储库克隆为第二个用户时.这样,您仍然可以使用添加到普通GitHub帐户的SSH密钥将存储库克隆为普通用户.可以根据主机名指定不同的配置,但对于GitHub存储库,主机名始终为github.com.要仅为某些克隆的存储库指定配置,请通过将以下内容附加到〜/ .ssh / config(credit)来添加主机别名:

# alias for github.com with a custom SSH key

Host bob.github.com

HostName github.com

IdentityFile ~/.ssh/bob_rsa

我使用了主机名bob.github.com,但它可以是任何字符串.

现在,您可以使用主机名bob.github.com(或您在SSH配置中使用的任何主机名)将GitHub存储库克隆为第二个用户:

git clone git@bob.github.com:USER/PROJECT.git

如果以这种方式克隆第一个用户拥有的存储库,则在add your second user as a collaborator之前,您应该无法将提交推送到该存储库.

测试SSH配置

如果遇到问题,请通过运行检查SSH是否正常工作

ssh git@bob.github.com

(将bob.github.com替换为主机XXX行中的主机名).

第一次通过SSH连接到GitHub时,您应该收到类似的消息

The authenticity of host 'github.com (192.30.253.113)' can't be established.

RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.

Are you sure you want to continue connecting (yes/no)?

键入yes,然后按Enter. (为了注意安全,请首先检查指纹是否在GitHub’s SSH Keys page中列出).

如果您的配置正确并且通过粘贴“SSH和GPG密钥”页面中〜/ .ssh / bob_rsa.pub的内容将SSH密钥添加到第二个GitHub帐户,您应该看到

PTY allocation request failed on channel 0

Hi USER! You've successfully authenticated, but GitHub does not provide shell access.

Connection to github.com closed.

USER应该是第二个帐户的名称.

如果您还为普通帐户设置了SSH访问权限,则应该可以运行

ssh git@github.com

并获取相同的消息,但USER是您的普通帐户的名称.

3. Git作者元数据

Git会在每次提交时存储作者的姓名和电子邮件地址.例如,GitHub使用此信息在提交历史中显示用户头像.欺骗这些信息是微不足道的(1,2).

作者的姓名和电子邮件地址通常存储在全局配置文件(〜/ .gitconfig)中.您可以通过在存储库的目录中运行以下命令,在每个存储库的基础上覆盖它们:

git config --local user.name "NAME"

git config --local user.email "EMAIL"

将NAME和EMAIL替换为第二个用户的全名和电子邮件地址. –local标志修改每个存储库配置文件(存储库根目录中的.git / config),而不是修改〜/ .gitconfig的–global标志.默认值是–local,所以实际上它可以省略.

现在你有一个克隆,你实际上是第二个用户.使用另一个(普通)克隆作为第一个用户.

*精美打印:GitHub的Terms of Service仅允许每人一个免费帐户.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/438678
推荐阅读
相关标签
  

闽ICP备14008679号