美文网首页
Git 的多账户 SSH 配置

Git 的多账户 SSH 配置

作者: 浕亾倳厛兲掵 | 来源:发表于2018-11-29 19:21 被阅读0次

前言

一般来说,为了使用的方便,在 Git 方式的版本控制仓库上都会配置 ssh 连接方式,这样每次在提交代码的时候不用重复输入自己的邮箱、密码,免去很多麻烦。但是,如果在同时拥有 GitHub 、GitLab、Coding 等账号的前提下,又怎样在同一台电脑上进行 ssh 配置呢?

多账号的 SSH 配置

这里的要点实际上就在 ssh-key 的配置上。在生成 ssh-key 的时候,也就是在运行下面这句生成 key 的命令时,是可以指定 key 的名称的:
$ssh-keygen -t rsa -C "YOUR_EMAIL@YOUREMAIL.COM" -f ~/.ssh/github
后面的“-f ~/.ssh/github”就指定了此 key 的名称为 github 。实际使用中可以根据自己的需要进行 key 名称的设置。
按照这个生成方法依次生成需要用在各个平台下的 key ,然后将对应的 .pub 结尾的 key 文件内容完整复制到相应平台的 SSH 配置处。(不带“-f ~/.ssh/github”参数,直接运行也是可以根据提示一步步自定义 key 名称的)
之后的重点是——如何在本机识别不同的平台,并使用相应平台对应的 key 文件。

mutil_git_01.png
方法也很简单,只需要在 .ssh 文件夹下,新建一个 config 文件,config 文件中编辑如下内容:
Host Github主机别名 HostName github.com IdentityFile ~/.ssh/id_rsa_gitlab
Host GitLab主机别名 HostName gitlab.com IdentityFile ~/.ssh/id_rsa_github
Host Coding主机别名 HostName coding.net IdentityFile ~/.ssh/id_rsa_coding
其中,主机别名根据自己喜好自取,HostName 对应的是各个平台的主域名地址,之后的 key 名称则是在使用 ssh-keygen 命令生成相应 key 时候自定义的 key 名称。

在本机与平台端公共 key 都配置好后,分别使用相应的连接方法:
GitLab
ssh -T git@gitlab.com
GitHub
ssh -T git@github.com
Coding
ssh -T git@git.coding.net
与各个平台连接成功后,即可正常使用。
多账号配置后产生的问题
按照上面的方法配置后,实际上已经配置成功了,从对应仓库拉代码和提交更新都没有问题。但是,这里有一个细节需要注意。在默认情况下,大家配置 commit 的用户名称和邮件地址时都是使用的下面的方法:
git config --global user.name 你的用户名
git config --global user.email 你的邮箱地址
这个两个方法,因为带了参数 --global ,实际上定义的是全局变量,也就是说,不过你是向 GitHub、GitLab 还是 Coding 提交代码,作者名称和邮箱地址都是上面定义的两个。一般来说,这都不是大家想要的效果,最起码得区分开来。这里就需要在各个拉下来的本地代码仓库中找到 .git 文件夹中的 config 文件,其内容如下:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
[user]
    name = xxxx
    email = xxxx
[remote "origin"]
    url = xxxxxxxx
    fetch = xxxxxxxx

在没有进行配置的默认情况下,是没有 [user] 这一项的,可以选择直接编辑这个文件,或者在当前代码仓库根目录运行局部配置命令,进行配置即可:
git config user.name 你的用户名
git config user.email 你的邮箱地址

相关文章

  • git 补丁 - diff 和 patch 使用详解

    Git下载及配置环境变量 Git 命令行教程及实例教程 Git ssh 配置及使用 git ssh 配置多个账户 ...

  • Git 的多账户 SSH 配置

    前言 一般来说,为了使用的方便,在 Git 方式的版本控制仓库上都会配置 ssh 连接方式,这样每次在提交代码的时...

  • git 多账户的ssh配置

    1. 生成针对某个账号的密钥 ssh-keygen -t rsa -C "xxxx@email.com" 2. 上...

  • 使用Git搭建自己的私有/个人Git仓库

    使用Git搭建自己的私有/个人Git仓库 准备一下 安装Git 添加Git管理账户/账户和密码 配置Git的SSH...

  • git 与 ssh 多账户配置

    简单说一下ssh使用,如果还有什么不懂得可以Q我:281286620 1. 生成key 终端下 cd 到 ~/.s...

  • git 与 ssh 多账户配置

    简单说一下ssh使用,如果还有什么不懂得可以Q我:20865695 1. 生成key 终端下 cd 到 ~/.ss...

  • Git 配置ssh连接多账户

    生成/添加SSH公钥 SSH Key[https://gitee.com/help/labels/19] SSH ...

  • 生成/添加SSH公钥

    Gitee 提供了基于SSH协议的Git服务,在使用SSH协议访问仓库之前,需要先配置好账户/仓库的SSH公钥。 ...

  • ssh-key git多账户配置

    在使用git的时候,一般我们使用的远程Git服务器是github,这时只需简单的生成ssh-key密钥对并将公钥添...

  • Git基本使用命令

    Git配置 Git最小配置 配置全局账户,该账户对所有Git仓库都有效 配置局部账户,该账户对当前Git仓库有效 ...

网友评论

      本文标题:Git 的多账户 SSH 配置

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