美文网首页
Mac git配置多账号

Mac git配置多账号

作者: Geroge1226 | 来源:发表于2019-06-21 13:50 被阅读0次

说明:git配置网上资源已经很丰富,本人只是整理测试,再次分享记录,以便后来者查阅。

使用场景

工作中或者自主学习时候,会使用到同一台计算机多个git账号,比如github,gitlab,gitee


情景一:

gitlab,gitee,github使用的是同一个邮箱账号注册情况

只需要使用ssh-key 工具生成一次公私秘钥,然后将公钥id_rsa.pub 设置在各个git网站的ssh公钥上,即可

情景二:

gitlab,gitee,github使用不同邮箱账号注册情况

准备工作:

首先,需要准备好对Git的全局用户进行配置。在初次安装Git时,往往会使用如下的命令配置全局用户名和邮箱:

git config --global user.name "xxx" // 配置全局用户名,如Github上注册的用户名
git config --global user.email "yyy@mail.com" // 配置全局邮箱,如Github上配置的邮箱

这个--global选项,是指这里配置的user.name和user.email是相对于全局进行配置的,即不同的Git仓库默认的用户名和邮箱都是这个值。由于需要管理多个账户,所以仅仅使用这个全局值是不够的,需要在每个仓库中单独配置。对此,有两种处理方法:

如果之前已经使用该命令进行配置,则先使用如下命令清除

git config --global --unset user.name
git config --global --unset user.email

如果不确定是否已经配置过,可以使用下面的命令查看

git config --global user.name
git config --global user.email

1.切换.ssh目录

cd ~/.ssh

2.使用ssh-keygen生成公私钥

ssh-keygen -rsa -C 337462386@qq.com
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/xxxx/.ssh/id_rsa): id_rsa_gitlab 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/xxxx/.ssh/id_rsa_gitlab 
Your public key has been saved in /Users/xxxx/.ssh/id_rsa_gitlab.pub
The key fingerprint is:
SHA256:4yNiKfqWOLUU1fSxG0PO49F+LQ9ofgNcq0QLEQhR6EI 337462386@.com
The key's randomart image is:
+---[RSA 2048]----+
|    oBo.=.       |
|  E o o= =       |
| . o    @ o .    |
|  o .  . @ + o   |
|   o    S O = .  |
|  o  . . = + +   |
| +.o+ . o o o .  |
|o.+o . . . . .   |
|.+.              |
+----[SHA256]-----+

注意:这里默认秘钥文件名称id_rsa,可以根据不同git自定义不同名称

3.将私钥配置到本地

SSH协议的原理,就是在托管网站上使用公钥,在本地使用私钥,这样本地仓库就可以和远程仓库进行通信。在上一步已经生成了秘钥文件,接下来需要使用秘钥文件,首先是在本地使用秘钥文件:

ssh-add ~/.ssh/id_rsa_github // 将GitHub私钥添加到本地
ssh-add ~/.ssh/id_rsa_gitlab // 将GitLab私钥添加到本地

为了检验本地是否添加成功,可以使用ssh-add -l命令进行查看

4. 配置多账号本地config

新建config文件:touch config

Host github // 网站的别名,随意取
HostName github.com // 托管网站的域名
User xxxx // 托管网站上的用户名
IdentityFile ~/.ssh/id_rsa_github // 使用的密钥文件

// GitLab的配置相同
Host gitlab
HostName gitlab.com
User xxxx
IdentityFile ~/.ssh/id_rsa_gitlab

config文件详解

每个账号单独配置一个Host,每个Host要取一个别名,每个Host主要配置HostName和IdentityFile两个属性即可

Host的名字可以取为自己喜欢的名字,不过这个会影响git相关命令,例如:
Host mygithub 这样定义的话,命令如下,即git@后面紧跟的名字改为mygithub
git clone git@mygithub:PopFisher/AndroidRotateAnim.git
HostName         这个是真实的域名地址
IdentityFile         这里是id_rsa的地址
PreferredAuthentications 配置登录时用什么权限认证--可设为publickey,password publickey,keyboard-interactive等
User            配置使用用户名

5.配置公钥到Git网站

以Gitlab为例子,先在本地复制公钥。进入.ssh目录,使用vim id_rsa_gitlab.pub查看生成的GitHub公钥,全选进行复制。

登录gitlab,点击右上角头像选择settings,在打开的页面中选择SSH keys


屏幕快照 2019-06-21 下午2.07.12.png

填写公钥key ,title 可以随意起

相关文章

  • Mac多Git账号配置

    在开发的过程中,难免会在多个代码平台(Github、Gitee)上提交代码,传统的Git账号配置就比较麻烦了,此文...

  • Mac git配置多账号

    说明:git配置网上资源已经很丰富,本人只是整理测试,再次分享记录,以便后来者查阅。 使用场景 工作中或者自主学习...

  • Mac上git多账号配置

    默认情况 已经配置好一个全局的账号 在此基础上搭建github的个人账号 步骤 新建一个ssh key,保存在id...

  • windows系统下配置多个git账号以及SSH

    本文以配置github.com账号和git.oschina.net账号来逐步演示在Windows环境下配置Git多...

  • git多账号配置

    git多账号配置 1. 生成ssh密钥 出现 Could not open a connection to you...

  • git多账号配置

    由于公司gitlab账号是ssh:git@...::818这种情况的所以今天按照文档一直没配置成功,然后增加了一个...

  • git多账号配置

    工作中往往我们会遇到这种情况, 公司给了邮箱, 采用类似gitlab之类的git服务托管商, 而我们又拥有自己的g...

  • git多账号配置

    在实际工作中,常常会遇到多个git帐号(即多个远程仓库)的情况,这时候如果只有一个SSH-key则无法满足现有要求...

  • Git 多账号配置

    问题描述 git是目前使用的非常广泛的一个开源的分布式版本控制系统,大部分公司都在使用,然后大家又有自己的Gith...

  • git 多账号配置

    生成新密钥 注册新的私钥 查看私钥列表 新建config文件

网友评论

      本文标题:Mac git配置多账号

      本文链接:https://www.haomeiwen.com/subject/vtwloqtx.html