Github和Gitlab同一台电脑上的使用

公司最近开始使用Git来进行版本控制,在配置好Gitlab之后写了几天代码,来提交本地Github项目时,发现提交不上去.才发现Github与Gitlan不配置config时无法 同时提交的. 以此记录一下学习过程

生成ssh key文件

在绑定本地项目上传到github上时,需要创建一个Key文件,然后在github上进行绑定,这里就不在重复描述. 需要查看的可以看我之前写的博客绑定Github

在同时要绑定github 与gitlab时我们的ssh key 需要自己定义一个名字 ,否则只会重复创建默认名字为id_rsa 的文件. 就无法绑定两个网站了.

首先通过命令创建SSH文件
ssh-keygen -t rsa -C "gitlab邮箱"
ssh-keygen -t rsa -C "github邮箱"
Enter file in which to save the key (/c/Users/ZL-arccode/.ssh/id_rsa): github_id_rsa 和gitlab_id_rsa

在确认文件名时分别命名github_id_rsa和gitlab_id_rsa, 用来分别绑定github与gitlab

添加密钥列表

ssh-agent bash

在生成完SSH文件之后 我们需要添加密钥进密钥列表,添加完成后可以通过
git-add -l 查看加入的密钥列表
ssh -v [email protected] 查看github调试信息
ssh -v [email protected] 查看gitlan调试信息
这里的github.com和gitlab.com 都是指的config 的HostName(下文有说到)

当我们生成好SSH文件之后,把.pub结尾的文件 复制到我们github和gitlan的ssh记录里面 通过
$ ssh -T git@github$ ssh -T git@gitlab 进行测试

正确结果如下

Github
Hi tony-xxw! You've successfully authenticated, but GitHub does not provide shell access.

Gitlab
Welcome to GitLab, @cb.xiang!

配置config文件

我们SSH文件一般会生成在C/User/.ssh/下(Window环境) 我们需要在这个目录下 配置一个config文件,来告诉git 我们的SSH 分别指向github和gitlanb

文件内容如下

#gitlan
Host gitlab HostName gitlan.com IdentityFile ~/.ssh/gitlab_id_rsa

#github
Host github HostName github.com IdentityFile ~/.ssh/github_id_rsa

  • host: 指我们需要绑定的网站
  • hostName: 这里指向github与gitlanb的域名, 例如github的域名为(github.com)
  • IdentityFile : 对应的ssh Id文件

配置全局用户名###

最后 我们只需要配置好本地的全局账号就算配置成功了

git config --global user.name 'xxx'
git config --global user.email 'x@xxx'

学习中,遇到的问题

  1. git在设置全局账号时 是互相覆盖的
  2. git配置github时 如果全局账号 邮箱不是github的注册邮箱,提交后无法涂满小绿哥
  3. 在配置完config文件以后 git clone 项目 需要使用占位符

文章参考

一台电脑上同时使用github和gitlab
如何更改ids文件名

你可能感兴趣的:(Github和Gitlab同一台电脑上的使用)