likes
comments
collection
share

【工具使用_Git_01】本地多账户配置

作者站长头像
站长
· 阅读数 84

本文主要有以下内容

  • Git 配置多账户

为了提高我们的工作效率,增加我们的工作产出,更好的摸鱼。做到工作和生活两不误。因此需要在一台电脑上配置多个git账户,方便我们工作摸鱼!

主要过程就是 生成对应账户的密钥、把公钥放在服务器账户上以及建立账户和密钥之间的联系(config文件)。

首先是查看现有配置,一般能了解到这个的都使用过git一段时间,否则也不可能刚学习就能够了解到这些。

# 查看现有配置
git config --global --list
user.name=xxxx
user.email=xxx@xxx.cn

输出如下图:

【工具使用_Git_01】本地多账户配置

删除现有配置:

# 删除现有配置
git config --global --unset user.name
git config --global --unset user.email

操作如下图: 【工具使用_Git_01】本地多账户配置

首先运行cd ~/.ssh,windows一般在c\用户\当前账户名.ssh

生成密钥对

ssh-keygen -t rsa -C "YourEmail.com"

第一个回车后,终端会有如下输出,在此处输入保存此密钥的文件,防止在后续被其它密钥覆盖。在这之后一路回车即可。

【工具使用_Git_01】本地多账户配置

成功生成如下图:

【工具使用_Git_01】本地多账户配置

接下来就需要将公钥添加到代码服务器上即文件以pub结尾的(vscode或者notepad++或者记事本),以gitcode为例:

【工具使用_Git_01】本地多账户配置

添加privateKey 到本地

ssh-add ~/.ssh/id_rsa_gitcode

在添加过程中可能遇到如下问题,执行如下命令即可

# error Could not open a connection to your authentication agent.
ssh-agent bash
# 添加完成后可通过下面的命令查看
ssh-add -l
# 添加错了可以通过ssh-add -d 删除

.ssh文件夹下创建config (vim ~/.ssh/config)文件,输入以下内容并保存文件。

ps:config文件没有任何后缀!

# Host hostName 的别名
Host gitcode
# 服务器地址
HostName gitcode.net
# 用户:可配置为邮箱或者用户名
User YourEmail
# 对应服务器的认证文件
IdentityFile ~/.ssh/id_rsa_gitcode

Host aliasName
# 指定代码服务器 + 端口号 
HostName 192.168.0.105
port 22
User userName
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa

此时.ssh里文件如下: 【工具使用_Git_01】本地多账户配置

测试连接:

ssh -T git@Host or HostName

如果出现问题如:

kex_exchange_identification: Connection closed by remote host

请检查配置文件,也可以通过此方式查看相关信息

ssh git@YourHost -vT

【工具使用_Git_01】本地多账户配置

注意:为了减少使用上的问题 host 和 hostname 尽量保持一致,否则在使用上容易出现问题 实测! 如下

【工具使用_Git_01】本地多账户配置

配置成功后,就可以在不同的git仓库中使用了。使用方式如下:

git init
git config --local user.name "yourName"
git config --local user.email "yourEmail"

一般情况下会有一个默认使用的主账户,因此我们可以配置一个全局账户,默认情况下就是全局账户,在需要配置其他用户名和邮箱时,再按照上述方式配置即可。

git配置有三个级别 System Global Local,检测顺序是 System Global Local,如果有相同配置项,则会被后续的覆盖,即如果配置global级别的user.namelocal级别的user.name,则local级别的会覆盖global级别的。

总结此过程用到的一些命令:

# 查看现有配置
git config --global --list
# 生成密钥
ssh-keygen -t rsa -C "YourEmail.com"
# 添加privateKey
ssh-add ~/.ssh/id_rsa_gitcode
# 测试配置信息
ssh -T git@HostName
# 配置 全局 or 本地
git config --global[local] user.name "yourName"
git config --global[local] user.email "yourEmail"

参考资料:

转载自:https://juejin.cn/post/7268590610189402149
评论
请登录