写在前面
日常工作学习中用到多个git账号,或是GitHub,或是gitlab或者又是gitee。不同项目、不同代码仓库协同时就需要在配置多个git账号
开始配置
1. 首先生成两个或多个ssh公钥私钥
第一个是id_rsa, 第二个命名为id_rsa_XX [,第三个命名为id_rsa_XXX],一次类推。可以使用自己熟悉的做后缀便于区分。
方法如下:
打开在~/.ssh/ 打开git ,或则任意处打开git切换到~/.ssh/目录下。如果不切换会在当前目录下生成公钥私钥文件;
执行:ssh-keygen -t rsa -C "XXX@163.com.cn" XXX@163.com.cn 为你在gitlab上的注册的账号

回车后,提示输入对应的文件名,不能与之前重复,会覆盖之前生成的SSH密钥,输入后直接回车,
然后输入密码,,之后再次输入密码,也直接回车跳过,当出现下图时,表明已经生成成功了

2.复制公钥
把生成好的ssh的公钥相对应复制到github[/gitlab]的settings中的SSH and GPG keys3.
3. 配置config文件
如果在~/.ssh/下没有config文件,需要先创建config文件 :touch config
#github server one
Host github #域名地址的别名
Port 22 默认为22的可不填写
Hostname github.com #这个是真实的域名地址
User git #配置使用用户名
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa #这里是id_rsa的地址
#github server two
Host github_two
Port 22 默认为22的可不填写
User git
Hostname github.com
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_two
##如果有第三个或者更多
#gitab server
Host gitlab
Port 22 默认为22的可不填写
User git
Hostname gitlab.com
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_gitlab
注:git默认使用id_rsa.pub对应的github账号。
4. 测试
ssh -T git@gihub
#如果配置正确会提示
Hi your name one in github ! You've successfully authenticated, but GitHub does not provide shell access.
ssh -T git@gihub_two
#如果配置正确会提示
Hi your name two in github ! You've successfully authenticated, but GitHub does not provide shell access.
ssh -T git@gitlab
#如果配置正确会提示
Welcome to GitLab, Your GitLab nickname!
5. Clone 项目到本地
在工作目录下,首先先git init,然后才能使用git命令clone项目到本地
#之前的方式:单个账号
git clone git@github.com:firstAccount/xxx.git #缺省config配置时
git clone git@github:firstAccount/xxx.git #config配置后,等价于第一条语句
#现在要改为,git clone git@域名别称:用户名/项目名
git clone git@github_two:secondAccount/xxx.git //就是使用域名地址的别名来区分
git clone git@gitlab:gitlabAccount/xxx.git
6. 配置本地git用户名和邮箱(非必须项)
如果首次push repo没有配置git的账号和邮箱,可以如下配置
#全局配置
git config --global user.name "Your name"
git config --global user.email your_email@gmail.com
##非必须项
#局部配置,如果没有局部配置,默认用全局配置否则优先使用局部配置
cd ~/workspace/github_two/
git init
git config user.name "Your name"
git config user.email your_email@gmail.com
END。
这篇博客详细介绍了如何在一台电脑上配置多个GitHub和GitLab账号,包括生成SSH公钥私钥、配置config文件、测试连接以及克隆项目到本地。通过设置不同的主机别名和IdentityFile,可以方便地切换和管理不同的git账号。
1305

被折叠的 条评论
为什么被折叠?



