原文所在:https://developer.aliyun.com/article/893801
简介: 工作中我们偶然大概会在同一台电脑上利用多个git账号,比方:公司的gitLab账号,个人的gitHub账号。怎样才气在利用gitlab与github时,切换成对应的账号,而且免密?这时我们须要利用ssh(git可以选择利用https方式、ssh方式两种方式通讯,但利用https方式时,每次fetch和push代码都须要输入账号和暗码),以windows为例,举行如下利用。
一,天生ssh密钥并设置
分别对gitlab和github天生对应的密钥(默认情况下本地天生的秘钥位于C:/Users/用户名/.ssh/)
1,天生gitlab密钥并设置
1.1 电脑开始菜单中找到已安装的gitbash并打开,输入下令:
- ssh-keygen -t rsa -C "公司邮箱地址"
复制代码 按回车,再按3次enter键,天生对应的gitlab密钥:id_rsa和id_rsa.pub
1.2 将gitlab公钥即id_rsa.pub(Windows下路径为C:/Users/用户名/.ssh/)中的内容设置到公司的gitlab上。
利用步调如下图。用记事本打开id_rsa.pub,复制有所内容,粘贴到4里;5中标题可恣意输入。
2,天生github密钥并设置
2.1 在gitbash中输入下令:
- ssh-keygen -t rsa -C "github邮箱地址" -f ~/.ssh/github_rsa
复制代码 2.2 天生对应的github密钥:github_rsa和github_rsa.pub
2.3 将github公钥即github_rsa.pub中的内容设置到本身的github上。利用步调如下:
2.4 打开github_rsa.pub,复制有所内容,填入后点击“Add SSH key”按钮。接着大概会跳转页面须要输入你的GitHub暗码,输入确定即可。
3,设置git,访问差别host时利用差别的密钥
- 进入密钥天生的位置(C:/Users/用户名/.ssh/),手动创建一个config文件(留意这个config文件要无后缀)。
- 在新建的config文件内里设置如下内容:
- # 自己的github账号配置
- Host github.com
- port 22
- User git
- HostName github.com
- PreferredAuthentications publickey
- IdentityFile C:\Users\xiaoqq\.ssh\github_rsa
- # 公司的gitlab账号配置(HostName为公司的gitlab地址)
- Host gitlab.com
- port 22
- User git
- HostName gitlab.xxx.com
- User git
- PreferredAuthentications publickey
- IdentityFile C:\Users\xiaoqq\.ssh\id_rsa
复制代码 字段设置简朴阐明:
- Host
- Host可以看作是一个你要识别的模式,对识别的模式,配置对应的主机名和ssh文件
- Port
- 自定义的端口。默认为22,可不配置
- User
- 自定义的用户名,默认为git,可不配置
- HostName
- 真正连接的服务器地址
- PreferredAuthentications
- 指定优先使用哪种方式验证,支持密码和秘钥验证方式
- IdentityFile
- 指定本次连接使用的密钥文件
复制代码 设置HostName时须要留意,复制公司gitlab大概本身的github所在时,须要把"https://"去掉,只保存github.com部门。
二,验证是否设置乐成
在C:/Users/用户名/.ssh中,右键打开Git Bash Here,分别输入下令:
- # 测试github
- ssh -T git@github.com
- # 测试gitlab(@符后面的为公司gitlab地址) 如果需要指定端口号 -p 具体端口号名
- ssh -T git@gitlab.xxx.com
复制代码 如下图所示则阐明设置乐成
三,git堆栈设置
1,简介
在git中,我们利用git config 下令用来设置git的设置文件,git设置级别告急有以下3类:
- 堆栈级别 local 【优先级最高】
- 用户级别 global【优先级次之】
- 体系级别 system【优先级最低】
1.1 git 堆栈级别对应的设置文件是当前堆栈下的.git/config 【在当前目次下.git目次默认是潜伏的,以是在文件管理器中我们要打开表现以藏文件】
1.2 git 用户级别对应的设置文件是用户宿主目次下的~/.gitconfig 【宿主目次:C:\Users\xiaoqq】
1.3 git体系级别对应的设置文件是git安装目次下的 /etc/gitconfig
简朴相识后我们就可以举行设置了
2,设置
用户级别设置
用户级别是设置公司gitlba账号还是本身github账号,可以自由选择。由于寻常利用公司的代码频率较高,以是我选择将gitlab账号设置成用户级别。gitBath下实行如下下令:
- git config --global user.name 'lfr' #公司账号名称
- git config --global user.email 'lfr@company.com' #公司账号邮箱
复制代码 堆栈级别设置
local(堆栈级别)设置成github的账号。选择一个文件夹作为github的本地堆栈,在该文件夹里鼠标右键打开Git Bash Here,实行下令:git init
再实行下令:
- git config --local user.name 'username' #github账号名称
- git config --local user.email 'username@gmail.com' #github账号邮箱
复制代码 之后本身的github的代码都应该在这个堆栈下举行pull、push利用。
3,克隆项目代码
克隆本身github的项目代码至本地堆栈。在2.2中的本地堆栈打开gitBash,输入下令:
- git clone git@github.com:CarlLfr/pythonScript.git # github项目地址(clone with ssh)
复制代码 如许就可以对克隆的项目举行git其他的利用了。
至此,我们就可以在这台电脑上同时利用github与gitlab举行代码的设置就完成了。
参考
- https://www.jianshu.com/p/a34e90b5ce2a
- https://blog.csdn.net/weixin_43161811/article/details/88804030
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金 |