赞
踩
如何在同一台电脑上使用github和gitlab
这里我们要做的事情就是分别对github和gitlab生成对应的密钥(默认情况下本地生成的秘钥位于/Users/用户名/.ssh/
),并且配置git访问不同host时访问不同的密钥,流程如下:
ssh-keygen -t rsa -C "公司邮箱地址"
生成对应的gitlab密钥:id_rsa
和id_rsa.pub
id_rsa.pub
中的内容配置到公司的gitlab网站上ssh-keygen -t rsa -C "github地址" -f ~/.ssh/github_rsa
生成对应的github密钥:github_rsa
和github_rsa.pub
github_rsa.pub
中的内容配置到自己的github网站上config
文件,添加配置:# gitlab
Host gitlab
HostName git.xxx.com #这里填你的gitlab的Host
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
# githab
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_rsa
在密钥的生成位置/Users/用户名/.ssh/下使用gitbash运行 ssh -T git@hostName
命令测试sshkey对gitlab与github的连接:
$ ssh -T git@gitlab
Welcome to GitLab, catalinaLi!
$ ssh -T git@github.com
Hi catalinaLi! You've successfully authenticated, but GitHub does not provide shell access.
如果出现上图结果就说明连接成功,如果不是这样的话就仔细看看第一步哪里做错了。
这里我们要用到git的config配置。git的config文件记录了用户的基本信息,我们的账号信息也在里面,这里我们要做的就行在不同的本地仓库配置不同的用户信息来访问不同的远程仓库。config文件通常有三个位置:
位于Windows下在git的安装目录, 包含了适用于系统所有用户和所有库的值。如果你传递参数选项’–system’ 给 git config,它将明确的读和写这个文件。
位于~/.gitconfig,具体到你的用户。你可以通过传递–global 选项使Git 读或写这个特定的文件。
位于 .git/config,无论你当前在用的库是什么,特定指向该单一的库。每个级别重写前一个级别的值。
简单了解后我们就可以来配置了
$ git config --global user.name 'myCompanyName' #公司账号名称
$ git config --global user.email 'myemail@companyName.com' #公司账号邮箱
$ git config --local user.name 'username' #github账号名称
$ git config --local user.email 'username@gmail.com'
#github账号邮箱 之后我们github的代码都应该在这个仓库下拉取。
$ git clone git@github.com:XXX/xxx.git
在使用github克隆代码时,因为配置了config, 所以会通过配置的host自动查找到git@github.com
。对于gitlab也是相同的道理
至此,在同一台电脑上使用gitlab与github已经成功了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。