Git一台电脑 配置多个账号

Git一台电脑 配置多个账号

Git一台电脑 配置多个账号

常用的Git版本管理有 gitee github gitlab codeup ,每个都有独立账号,经常需要在一个电脑上向多个代码仓提交后者更新代码,本文以ssh 方式为例配置

1 对应账号 公私钥生成

建议:linux 或 mac 用户推荐在 ~/.ssh 路径下运行命令行,Windows用户推荐在“ C:\Users\用户名.ssh ”
密钥文件默认生成位置为 执行命令路径
windows为例:
C:\Users\用户名.ssh 目录下右键菜单中 运行:
Git一台电脑 配置多个账号_第1张图片

## 说明: 
## -t rsa 表示加密方式  
## -C 表示注册不同云端仓库时所用的邮箱 
## -f 表示自定义生成秘钥的名称
#--------------------------------------
# 生成 github.com 公私钥对
ssh-keygen -t rsa -C "[email protected]" -f github
# 生成 gitlab.com 公私钥对
ssh-keygen -t rsa -C "[email protected]" -f gitlab

2 密钥启用

<1>gitee ,github 、codeup 等添加公钥(*.pub),

<2>本地启用私钥:ssh-add ~/.ssh/私钥文件名

ssh-add ~/.ssh/github

查看已启用的私钥

ssh-add -l

添加私钥报错

Could not open a connection to your authentication agent

执行命令

ssh-agent bash

3 config 文件配置

<1> 查看当前目录是否有config文件,若无 命令行执行 :

touch config

<2> 配置

# one(one@gmail.com)
Host github
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github
User one
    
# two(two@gmail.com)
Host gitlab
HostName gitlab.java.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab
User two

# 这里是自定义的host简称,以后连接远程服务器就可以用命令ssh myhost
Host
# 主机名可用ip也可以是域名(:github.com或者bitbucket.org)
HostName
# 服务器open-ssh端口(默认:22,默认时一般不写此行)
Port
# 配置登录时用什么权限认证
# 可设为(publickey, password publickey, keyboard-interactive 等)
PreferredAuthentications
# 证书文件路径(如~/.ssh/id_rsa_*)
IdentityFile
# 云端仓库登录用户名
User

注意
1、HostName 填写时不加https 或http,从网页地址栏粘贴过来要去掉多余字符
示例:codeup为 codeup.aliyun.com
自建gitlab:http://192.168.1.85/ 则填192.168.1.85
博主被坑了,后面ssh -T 连接测试一直不成功就是因为这个

4 连接测试

ssh -T 用户名@ config文件中Host ,@前后无空格
ssh -T user@Host

# 测试链接是否成功, 这里的github、gitlab是config文件中设置的Host
ssh -T git@github
ssh -T git@gitlab

5 仓库配置

1、 查看当前全局是否配置

git config --global --list

若全局配置中有 name 和email 配置信息,则清除全局配置:

git config --global --unset user.name
git config --global --unset user.email

2、 在代码仓目录下代开git命令行窗口,配置对应name 和email 信息

git config --local user.name “用户名”
git config --local user.email “邮箱”

查看配置:

git config --local --list

参考:
https://www.cnblogs.com/nhdlb/p/16718642.html
https://blog.csdn.net/tuhuanxiong/article/details/131421190

你可能感兴趣的:(Troubleshoot,git)