Tag: MacOS下管理配置多个Git账户
-
MacOS下管理配置多个Git账户
mac下生成密钥对,以下是mac下.ssh/config的通用配置,User通用都是git: 本地生成的密钥对,假设公钥传到gitlab服务器的ad_reporter用户中,ssh测试下: ad_reporter的权限必须给到xxx这个组,才能拉取代码,命令: 我们经常将代码托管到github、gitlab这样的网站上。为了避免每次push代码时都要输入用户名和密码,通常会选择使用ssh协议,将公钥保存到托管网站上。在实际开发中,往往要将代码托管到多个不同的网站上。比如,公司的代码需要托管到coding上,自己的开源代码托管到GitHub上,私有代码托管到gitlab上等等,每个托管网站都对应一个git账户。默认情况下,一台电脑的Git只对应一个账户,只能往一个网站push代码,非常不便。这篇博客将介绍如何在一个Git终端中配置多个账户,同时管理多个托管网站的代码。 准备工作 首先,需要准备好对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.namegit config –global –unset user.email如果不确定是否已经配置过,可以使用下面的命令查看git config –global user.namegit config –global user.email 配置步骤 1. 对每个账户生成一对密钥首先进入保存秘钥的目录:cd ~/.ssh // 进入目录,该目录下保存生成的秘钥然后,根据账户邮箱生成秘钥。例如我在GitHub上的邮箱是fox@moneyslow.com,则命令为:ssh-keygen -t rsa -C “fox@moneyslow.com”输入完成后,会有如下提示:Generating public/private rsa key pair.Enter file in which to save the key (/Users/fox/.ssh/id_rsa):这里要求对秘钥进行命名,默认的文件名是id_rsa。为了方便区分,我这里命名为id_rsa_github。接下来的提示都直接进行回车,直到秘钥生成。通过ls命令,可以看到刚刚生成的密钥对id_rsa_github和id_rsa_github.pub。其中id_rsa_github.pub是公钥。同样,对于GitLab上的账户,我是用另一个邮箱注册的,按照同样的步骤生成id_rsa_gitlab的秘钥对。接下来的步骤,除额外说明外,两个账户的操作完全相同。2. 私钥添加到本地SSH协议的原理,就是在托管网站上使用公钥,在本地使用私钥,这样本地仓库就可以和远程仓库进行通信。在上一步已经生成了秘钥文件,接下来需要使用秘钥文件,首先是在本地使用秘钥文件:ssh-add…