Git多平台/多账号配置

2023/4/13 14:22:16

本文主要是介绍Git多平台/多账号配置,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

有时候需要在一台电脑使用多个git平台(Gitee、GitHub、Gitlab...)或者一个平台多个不同账号,比如想同时配置公司git和个人的git,提交代码时提交到对应的平台/账号的代码仓库且互不影响。这时候需要配置不同的SSH key。

1. 生成SSH key

  • 默认情况下,用户的 SSH 密钥存储在其 ~/.ssh 目录下。 进入该目录并列出其中内容,你便可以快速确认自己是否已拥有密钥:
$ cd ~/.ssh
$ ls
authorized_keys2  id_dsa       known_hosts
config            id_dsa.pub
  • 该目录中一般有一对以 id_dsaid_rsa 命名的文件,其中一个带有 .pub 扩展名。 .pub 文件是你的公钥,另一个则是与之对应的私钥。 如果找不到这样的文件(或者根本没有 .ssh 目录),你可以通过运行 ssh-keygen 程序来创建它们。
$ ssh-keygen -t rsa -C "xxx@xxx.com" -f ~/.ssh/id_rsa_github

-t 指定密钥类型,默认是 rsa ,可以省略。
-C 设置密钥注释,如邮箱。
-f 设置密钥文件的文件名。
注意:如果多次生成私钥公钥则需要重新命名,否则会覆盖之前的同名密钥文件。

image

2. 配置公钥到远端git

以GitHub为例:

  • 点击右上角头像,选择下拉菜单中的Settings

image

  • 找到SSH and GPG keys

image

  • New SSH key,输入一个标题,把本地的公钥 .pub 文件内容全选复制粘贴到文本框里

image

image

3. 配置config文件

  • ~/.ssh 目录下,如果没有config文件可以通过 touch ~/.ssh/config 指令创建config文件,如果有则直接编辑这个文件:
$ touch ~/.ssh/config
  • 修改config文件的内容,配置完以后,github的仓库会使用 ~/.ssh/id_rsa_lpk_github 密钥进行验证,gitee会使用 ~/.ssh/id_rsa_lpk_gitee 密钥进行验证。
# github
Host github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_lpk_github
    User lpk

# gitee
Host gitee.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_lpk_gitee
    User lpk

文件参数:
Host:主机名
User:指定登录的用户名,默认为git
HostName:指定要登录的真实主机名
PreferredAuthentications:指定客户端尝试身份验证方法的顺序
IdentityFile:指定使用的密钥文件
其他参数配置详见 点击这里

4. 测试连接

  • 执行以下指令测试能否成功连接
$ ssh -T git@github.com
  • 出现以下结果表示连接成功

image

至此,配置完毕,可以提交代码到不同平台了 😎



这篇关于Git多平台/多账号配置的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程