当前位置:   article > 正文

Git:单台电脑同时配置多个git账号_本地git可以设置多个用户

本地git可以设置多个用户

问题说明
现在云端仓库很多,有开源中国的 gitee.com 、微软的 github.com 、还有 gitlab.com 和 bitbucket.org 等等,当我们想同一台电脑链接多个云端仓库时,就需要设置不同的用户、邮箱生成不同的密钥进行链接。

解决方案

  1. 下载安装Git
    我的电脑是Window10 系统,所以下载的Windows版

git官网下载git,链接:https://git-scm.com/

下载完之后,鼠标右键会看到Git Bash
在这里插入图片描述
2. 生成公私钥对
假设我有github.com 、gitlab.com 和 bitbucket.org三个云端的账号,各自的注册邮箱和用户名不同。

建议:linux 或 mac 用户推荐在 ~/.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
# 生成 bitbucket.org 公私钥对
ssh-keygen -t rsa -C "three@gmail.com" -f bitbucket
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

生成的文件就在当前运行命令的文件夹内
在这里插入图片描述
3. 登录云端仓库配置公钥
这里拿github举例。

登录github后,点击右上角头像,选择Settings
在这里插入图片描述
弹出页面,选择SSH and GPG keys
在这里插入图片描述
之后点击 New SSH key 新建SSH链接钥匙
在这里插入图片描述
输入标题,将生成的github的公钥(github.pub)文件内的内容拷贝至 Key,点击Add SSH key
在这里插入图片描述
4. 创建config文件
在刚刚生成公私钥对的文件夹内,创建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

# three(three.gmail.com)
Host bitbucket
HostName bitbucket.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/bitbucket
User three

# 这是gitee的链接方式
#Host gitee
#HostName gitee.com
#PreferredAuthentications publickey
#IdentityFile ~/.ssh/gitee
#User four
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

配置详解

# 这里是自定义的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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  1. 远程测试链接
# 测试链接是否成功, 这里的github、gitlab是config文件中设置的Host
ssh -T git@github
ssh -T git@gitlab
  • 1
  • 2
  • 3

运行命令后如果出现“Hi xxxx! You’ve successfully authenticated, but GitHub does not provide shell access.”,其中“xxxx”为你配置的 User 名字,这时恭喜你,配置成功了~

  1. 下载github项目
    在这里插入图片描述
# 单个云端仓库时, 运行 git clone 你的项目地址
git clone git@github.com: 我的用户名/Radish-Tools.git

# 多个云端仓库时, 需要修改你的项目地址的@对象
# 这里的github是config文件中的Host
git clone git@github: 我的用户名/Radish-Tools.git
# 这里的gitlab是config文件中的Host
git clone git@gitlab: 我的用户名/Radish-Tools.git
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  1. 配置局部用户名与邮箱
    取消全局用户名与邮箱设置
# 取消全局 用户名/邮箱 配置
git config --global --unset user.name
git config --global --unset user.email
  • 1
  • 2
  • 3

进入每个项目的文件夹,运行Git Bash,设置局部用户名与邮箱

# 单独为每个repo设置 用户名/邮箱
git config user.name "one_name" ; git config user.email "one@gmail.com"
git config user.name "two_name" ; git config user.email "two@gmail.com"
  • 1
  • 2
  • 3

上述都成功后,会发现GitHub中的SSH钥匙会由灰变绿
在这里插入图片描述
8. sourceTree设置单个项目用户名
在这里插入图片描述
在这里插入图片描述
在这里即可对单个项目用户名进行设置,不会影响到其他项目。
这里设置,对应的是sourceTree作者列,格式为用户名+邮箱地址。

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

闽ICP备14008679号