配置多个Git账号

本文转自:https://www.jianshu.com/p/717c9e482288

前言:

很多时候,我们一台机器上要使用多个Git库,比如 GitHub、GitLab、OSChina、CSDN、以及 自己公司的。那么 rsa就要有多份。那么该如何让这些共同存在呢?
原理就是:建立多个不同的rsa 然后 在ssh config中分别不同的配置。

操作步骤:

一、生成公钥和私钥(SSH Keys)

说明:SSH key 可以让你的电脑和 远程仓库 之间建立安全的加密连接,从而实现免密登录,能够在不输入Git密码的情况下,进行版本控制。

  1. 终端输入如下命令:
// 使用如下命令来生成 SSH Keys
ssh-keygen -t rsa -C "你的Git账号邮箱地址"
  1. 执行完这条命令之后, 会弹出如下提示:
    Enter file in which to save the key (/Users/renbo/.ssh/id_rsa):文件名
    在这句话后面可以自定义要生成的文件名(如:github_rsa、oschina_rsa、csdn_rsa等);如果不输入文件名,默认会生成 id_rsa.pub(公钥)、id_rsa(私钥)
    下一步... 不输入密码直接回车。
  2. 将公钥添加到网站
// 打开公钥文件,将公钥(`id_rsa.pub` 文件内容)添加到对应网站(如:GitHub / GitLab / OSChina / 自己公司的)上的SSH keys中。
open ~/.ssh/id_rsa.pub

二、修改 ssh config 配置文件

1.打开config文件

// 编辑config文件
vi ~/.ssh/config

2.添加如下内容

# 编写配置文件,支持多个账号自动登录

# 配置GitLab,公司账号1:
Host git-server
        HostName 192.168.68.85
        Port 22
        User git
        PreferredAuthentications publickey
        IdentityFile ~/.ssh/work1_rsa

# 配置GitLab,公司账号2:
Host git-server
        HostName 192.168.75.30
        Port 22
        User git
        PreferredAuthentications publickey
        IdentityFile ~/.ssh/work2_rsa

# 配置GitHub
Host github.com
        HostName github.com
        User borenfocus@gmail.com
        IdentityFile ~/.ssh/github_rsa

# 配置oschina (旧主机名是:git.oschina.net)
Host gitee.com
    HostName gitee.com
    User borenfocus@gmail.com
    IdentityFile ~/.ssh/oschina_rsa

# 配置CSDN
Host code.csdn.net
        HostName code.csdn.net
        User 你的名字
        IdentityFile ~/.ssh/csdn_rsa

三、删除本地全局设置

如果之前使用过程中使用过git config --global user.name "" 或者 git config --global user.email 命令,git会在本地产生一个.gitconfig文件,这个文件中保存了全局的git帐号信息,应该删除掉。

分享到:更多 ()

抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址