Git一台电脑 配置多个账号
常用的Git版本管理有 gitee github gitlab codeup ,每个都有独立账号,经常需要在一个电脑上向多个代码仓提交后者更新代码,本文以ssh 方式为例配置
建议:linux 或 mac 用户推荐在 ~/.ssh 路径下运行命令行,Windows用户推荐在“ C:\Users\用户名.ssh ”
密钥文件默认生成位置为 执行命令路径
windows为例:
C:\Users\用户名.ssh 目录下右键菜单中 运行:
## 说明:
## -t rsa 表示加密方式
## -C 表示注册不同云端仓库时所用的邮箱
## -f 表示自定义生成秘钥的名称
#--------------------------------------
# 生成 github.com 公私钥对
ssh-keygen -t rsa -C "one@gmail.com" -f github
# 生成 gitlab.com 公私钥对
ssh-keygen -t rsa -C "two@gmail.com" -f gitlab
ssh-add ~/.ssh/github
查看已启用的私钥:
ssh-add -l
添加私钥报错:
Could not open a connection to your authentication agent
执行命令:
ssh-agent bash
touch config
# 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 连接测试一直不成功就是因为这个
ssh -T 用户名@ config文件中Host ,@前后无空格
ssh -T user@Host
# 测试链接是否成功, 这里的github、gitlab是config文件中设置的Host
ssh -T git@github
ssh -T git@gitlab
git config --global --list
若全局配置中有 name 和email 配置信息,则清除全局配置:
git config --global --unset user.name
git config --global --unset user.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