github和gitlab 同一台电脑一起使用

github和gitlab 同一台电脑一起使用

前段时间,在工作闲暇之余自己开发了一个测试项目,项目在我的工作电脑上,我想把项目上传到 github,这样回家之后也可以同时开发了, 可是我工作的电脑已经在使用gitlib了 公司的gilab 用的https的方式连接

思考:能不能同时使用,而且每次不用输入账号密码:

上网查资料,可以实现,于是开始实践

此文参考:
https://www.cnblogs.com/bdhk/p/7423329.html
https://blog.csdn.net/argleary/article/details/100638560
1公司的GitLab生成一个SSH-Key

 

# 在~/.ssh/目录会生成gitlab_id-rsa和gitlab_id-rsa.pub私钥和公钥。我们将gitlab_id-rsa.pub中的内容粘帖到公司GitLab服务器的SSH-key的配置中。
$ ssh-keygen -t rsa -C "注册的gitlab邮箱" -f ~/.ssh/gitlab_id-rsa

2公网github生成一个SSH-Key

# 在~/.ssh/目录会生成github_id-rsa和github_id-rsa.pub私钥和公钥。我们将github_id-rsa.pub中的内容粘帖到github服务器的SSH-key的配置中。
$ ssh-keygen -t rsa -C "注册的github邮箱" -f ~/.ssh/github_id-rsa

2. 将SSH key 添加到 ssh-agent

 使用 ssh-add~/.ssh/github_id-rsa 将产生的新ssh key添加到ssh-agent中

 使用 ssh-add~/.ssh/gitlab_id-rsa 将产生的新ssh key添加到ssh-agent中

补充: 如果出现“Could not open a connection to your authentication agent.”的错误

执行如下命令 ssh-agent bash
然后再执行 ssh-add ~/.ssh/**  命令即可

2.添加config

 在~/.ssh下添加config配置文件,内容如下:

 

# github key
Host github
    Port 22
    User git
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/github_id-rsa
Host gitlab
    Port 22
    User git
    HostName gitlab.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/gitlab_id-rsa

3.配置仓库

 假设gitlab与jgithub的工作目录分别如下所示:

github工作仓库:~/workspace/github
gitlab工作仓库:~/workspace/gitlab
#gitlab 配置全局
cd ~/workspace/gitlab
git init
git config --global user.name 'gitlab'
git config --global user.email 'gitlab@company.com'

#github  配置仓库单独的用户名和邮箱
cd ~/workspace/github
git init
git config --local user.name 'personal'
git config --local user.email 'personal@163.com'

4.测试

# 测试github
$ ssh -T git@github.com
 
# 测试gitlab
$ ssh -T git@gitlab.com

若出现

成功!

若出现 git@gitlab.com: Permission denied (publickey,keyboard-interactive).

说明sshkey没有配置

需要在你的 github  / gitlab 配置  github_id-rsa_pub 到 setting>ssh里面


版权声明:本文为study_zmm原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。