本地配置多个 Git 账户信息,满足不同的 Git 平台

【GIT】git不同仓库设置不同用户名和邮箱 git不同仓库设置不同用户名和邮箱 阅读详情

写在前面的话

因为工作的时候为了访问速度快,我把很多仓库都迁移到了码云。但是呢,个人的一些东西还是保留在了 GitHub 了。这样就存在一个不得不解决的问题,就是两个平台的注册时使用的邮箱不同,用户名也不同。

之前都是每次 push 的时候输入账号和密码来解决这个问题的,但是这样实在是太麻烦了。于是,求助了一下万能的百度(其实更喜欢用 Google),就有了这篇文章。

主要是通过码云和 GitHub 平台的 SSH 公钥实现本地多个 Git 账户的方式。

本地生成不同的 SSH-Key

这一步主要是通过下面这个命令,针对不同的平台生成不同的 SSH-Key:

ssh-keygen -t rsa -C email -f ~/.ssh/id_rsa

需要说明的是:

  • email:指的是你在对应平台注册时所使用的邮箱地址。
  • id_rsa:指的是你在本地生成 SSH-Key 文件的名称。可以针对不同的平台命名不同的名称,比如针对码云可以命名为 gitee_id_rsa。

接下来,我们就可以通过上面的命令来分别生成不同平台的 SSH-Key,我这儿提供码云和 GitHub 平台:

  • 码云平台的 SSH-Key:

      ssh-keygen -t rsa -C 'xxxxx@company.com' -f ~/.ssh/gitee_id_rsa
    
  • Github 平台的 SSH-Key:

      ssh-keygen -t rsa -C 'xxxxx@qq.com' -f ~/.ssh/github_id_rsa
    

在执行上面的命令之后(回车之后),你应该能看到这样的提示:

Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): 

这里是提示你配置生成的 SSH-Key 存储的路径和名称。

  • 如果不输入任何内容的话,则会读取默认的路径和名称。文件名称就是你执行上面命令的 gitee_id_rsa 或者 github_id_rsa。
  • 也可以输入你想存储的路径和名称,例如 /Users/{username}/.ssh/id_rsa

你也可能看不到上面的提示(我在执行的时候就没看到):

Generating public/private rsa key pair.

然后你可能会看到另一个提示:

Enter passphrase (empty for no passphrase): 
Enter same passphrase again:

这里是提示你配置生成的 SSH-Key 的口令和确定口令,我们直接默认即可(就是回车)。

如果接下来你看到了类似下面这种提示,就说明生成 SSH-Key 成功了:

Your identification has been saved in /Users/{username}/.ssh/id_rsa_oschina.
Your public key has been saved in /Users/{username}/.ssh/id_rsa_oschina.pub.
The key fingerprint is:
SHA256:lEmncZqtuXuHgZ4XtkVMkazLaTC5XgN0VLjYi3T8Fk8 xxx@xxx.com
The key s randomart image is:
+---[RSA 2048]----+
|        o o..=+o |
|       . @. + o X|
|        B..B o   |
|       . oB B . E|
|        So X = + |
|        ..* X o .|
|       ..+ O o   |
|        o.* .    |
|        .o .     |
+----[SHA256]-----+

成功地生成了 SSH-Key 之后,我们需要将它添加到本地:

ssh-add ~/.ssh/gitee_id_rsa

执行完上面的命令之后,如果成功的话可以看到下面这样的提示内容:

Identity added: /Users/king/.ssh/github_id_rsa (xxxxxx@qq.com)

最后可以通过下面的命令查看已经添加到本地的 SSH-Key:

ssh-add -l

这样,你会看到所有已经添加到本地的 SSH-Key:

3072 SHA256:STeIkkZVIZwhmM0eAPI2inMl/EmV1Mhj0twxr4Qcx/U xxxxxx@qq.com (RSA)
3072 SHA256:9MNFPZA7mFblCBjsRUIk3b8TznxHUroroAryI/Q80Pg xxxxxx@qq.com (RSA)

到这里,恭喜你!因为你已经成功了在本地生成了针对不同平台的 SSH-Key 了。

本地 SSH-Key 配置

我们完成了第一步之后,接下来才是重中之重呢!就是要在对应的 .ssh 目录中创建一个 config 文件,来针对不同平台进行配置。

  1. 首先,我们通过终端进入 .ssh 目录

    cd ~/.ssh
    
  2. 然后,再通过终端创建 config 文件

    touch config
    
  3. 最后,在 config 文件中输入下面这些内容

    # gitee
    Host gitee.com
    HostName gitee.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/gitee_id_rsa
    # github
    Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/github_id_rsa
    

    这里需要说明的是:

    • Host 和 HostName 配置的是 Git 平台的域名
    • PreferredAuthentications 配置的是公钥还是私钥,publickey 表示公钥,privatekey 表示私钥。
    • IdentityFile 配置的是本地生成的 SSH-Key 文件的路径和名称。

最后保存 config 文件即可,这样我们就完成了本地的所有工作。

配置 Git 平台的 SSH 公钥

完成了本地生成 SSH-Key 的所有工作之后,我们就需要访问不同的 Git 平台来根据本地生成的 SSH-Key 来配置 SSH 公钥了。

这里我主要以码云和 GitHub 平台进行说明。

码云平台

首先,我们访问并登陆到码云平台。

在这里插入图片描述

然后,点击右上角的头像,在弹出的菜单中选择【设置】。

在这里插入图片描述

在左边的菜单中,找到【安全设置】中的【SSH公钥】菜单,并且打开。

在这里插入图片描述

在上面的页面中的【添加公钥】中配置我们在本地生成的 SSH-Key 信息就可以了。

  • 标题:这个就是你当前配置的 SSH-Key 的名称,可以随意进行填写,只要是不重复就可以了。
  • 公钥:这个就是你在本地生成 SSH-Key 文件的内容,一般就是 .ssh 目录中的 gitee_id_rsa.pub 文件。

最后,点击保存即可。

GitHub 平台

首先,我们访问并登陆到 GitHub 平台。

在这里插入图片描述

然后,点击右上角的头像,在弹出的菜单中选择【Setting】。

在这里插入图片描述

在左边的菜单中,找到【SSH and GPG keys】菜单,并且打开。

在这里插入图片描述

在【SSH keys】一栏的右上角,点击【New SSH key】菜单,新增一个 SSH-Key。

在这里插入图片描述

在上面的页面中的【Add new】中配置我们在本地生成的 SSH-Key 信息就可以了。

  • Title:这个就是你当前配置的 SSH-Key 的名称,可以随意进行填写,只要是不重复就可以了。
  • Key:这个就是你在本地生成 SSH-Key 文件的内容,一般就是 .ssh 目录中的 gitee_id_rsa.pub 文件。

最后,点击保存即可。

最后的验证

完成了上面所有的步骤,实际上我们已经完成了本地多个 Git 账户信息的配置。但是,到目前为止我们还不知道我们的配置到底有效。所以,我们的最后一步就是来验证一下我们这么多的工作是否是有效的。

我们只需要通过下面的命令来进行验证就可以了:

ssh -T git@example.com

这里的 example.com 指的是 Git 平台的域名。

  • 码云平台:

    ssh -T git@gitee.com
    
  • GitHub 平台:

    ssh -T git@github.com
    

在执行上面的命令之后,如果你看到下面这样的提示就说明配置已经成功了。

Hi username! You've successfully authenticated, but GitHub does not provide shell access.

这里的 username 是你在对应 Git 平台的用户名。

这篇文章仅在 Mac 系统中进行了验证,Windows 系统可能会存在差异,目前还没实际操作过呢!

Windows平台配置Git管理单个或多个SSH密钥、IntelliJ IDEA使用Git 目录 需求 准备工作 配置用户信息 Git的验证方式 生成SSH-KEY 一、配置单个SSH 1. 复制你的公钥内容到第三方Git服务器 2. 测试SSH密钥 二、配置多个SSH 三、上传本地项目到第三方Git服务器(针对新工程) 四、使用IntelliJ IDEA从第三方Git服务器拉取工程到本地 需求 a. 配置一个 DevCloud 账号 b. 配置两个不同... 阅读详情

相关推荐

Git配置SSH公钥

而用户的 key 则是针对用户的,用户添加了 key 就对用户名下的仓库和用户参加了的仓库具有权限,一般而言,用户的key具有推送和拉取的权限,而仓库的 key 则只具有拉取权限。仓库的 sshkey 只针对仓库,且我们仅对仓库提供了部署公钥,即仓库下的公钥仅能拉取仓库,这通常用于生产服务器拉取仓库的代码。Gitee 提供了基于 SSH 协议的 Git 服务,在使用 SSH 协议访问仓库仓库之前,需要先配置好账户 SSH 公钥。和仓库"只读"权限的 SSH Key 相比,账户的 SSH Key 同时具备。

Zmaomao_的博客 3041

Git多用户,不同项目配置不同Git账号

但是,这不适用于 Azure DevOps,因为与 SSH 协议相关的技术原因以及 Git SSH URL 的结构。Azure DevOps 会盲目接受客户端在身份验证期间提供的第一个密钥。通常,如果为 SSH 客户端配置多个密钥并连接到 SSH 服务器,则客户端可以一次尝试一个密钥,直到服务器接受一个密钥。对于 Azure DevOps,需要将 SSH 配置为显式使用特定的密钥文件。b. 一个 github,用于自己进行一些开发活动;a. 一个 gitee,用于公司内部的工作开发;

weixin_46721670的博客 928

Python金融数据获取工具库之baostock使用详解

在金融数据分析和量化交易中,获取准确及时的市场数据是非常重要的。baostock是一个专门为中国股市数据提供支持的 Python 库,它提供了免费的股票数据接口,用户可以方便地获取股票、指数、基金等各种金融数据。本文将详细介绍baostock库,包括其安装方法、主要特性、基本和高级功能,以及实际应用场景,帮助全面了解并掌握该库的使用。

Rocky006的博客 5343

Git 一台电脑配置多个账户

1. 配置全局用户 ##用户名和邮箱名和账号名没有必然相关性,可以不一样 ##我用github的账号设置了user.email,然而gitlab照样可以push数据 ##首次clone数据时有要求输入该网站的账号和密码,可以理解git的配置是git的账号和昵称 git config --global user.name "zhangsan" git config --global user....

gezilan的博客 817

【QEMU系统分析之TPM篇(一)】

本文以 QEMU 8.2.2 为例,分析其 TPM-emulator 模块的实现,并为 QEMU 添加 Windows 平台的TPM 模拟器的支持。

David唐辉的博客 1190

ABAP内表数据导出Excel:OLE、ALV与GUI_DOWNLOAD方案全解析

在企业级应用开发中,数据导出是连接后台系统与前端业务分析的关键桥梁。其核心原理是将结构化数据转换为通用文件格式,以实现跨平台的数据交换与可视化。从技术价值看,一个健壮的导出功能能显著提升数据处理效率,减少人工干预,是衡量系统实用性的重要指标。常见的应用场景包括报表生成、数据交接和临时数据提取。本文聚焦于SAP ABAP开发领域,深入探讨如何将内表数据高效、稳定地导出至Excel,涵盖了OLE自动化、ALV标准导出以及基于CL_GUI_FRONTEND_SERVICES与GUI_DOWNLOAD的通用方案,并

weixin_32715349的博客 320

同一台电脑使用不同的git账户登录不同的git网站

同一台电脑使用不同的git账户登录不同的git网站 使用不同的git账户登录不同的git网站 https://juejin.im/post/5db706746fb9a020531fb077

yatsov的博客 855

从开通VPS到搭建宝塔面板全教程

你在输入域名(此时我们可能没有类似aaa.com这样的域名,所以要输入VPS的IP地址)的时候,下面的根目录也会跟着变动,等输入完成后,你可以把根目录再改回成/www/wwwroot/dq。这时,在你的浏览器中,输入外网面板地址的URL,输入username和password,即可登陆宝塔面板。第一次登陆,需要绑定你的宝塔账号,你可以到宝塔的注册界面,用手机注册一个,然后绑定,首先看一下你的VPS操作系统是什么类型的(其实你在选择VPS的时候,就已经选定了,我选择的事Centos系统)。

kxltsuperr的专栏 3734

Git的配置及文件传输

首先要下载安装git相关软件,在将git配置到idea中。 1.下载相关插件 2.配置git安装包中的gie.exe路径 3.配置git安装包中的bash.exe路径 4.登录git账户 5.添加git本地仓库 6.配置Git本地仓库路径

qq_49121352的博客 239

Fanuc机器人的坐标变换矩阵的研究2

一、Funuc用户坐标系的介绍 二、用户坐标系与世界坐标系的坐标转换 三、 以用户坐标系1为基础旋转变换后的用户坐标系 四、关于点的WPR的含义 4.1:点在用户坐标系和世界坐标系下的坐标关系 4.2 通过转换矩阵返回去推导WPR

qq_34047402的博客 1523

手把手拆解DGX GB200 NVL72:1个机柜如何塞进72块GPU?详解NVLink Switch铜缆背板设计

本文深度解析英伟达DGX GB200 NVL72系统如何通过NVLink Switch铜缆背板设计,在标准42U机柜中集成72块B200 GPU,实现1800GB/s的超高带宽。文章详细介绍了模块化架构、铜缆互连技术、液冷散热方案和高密度供电系统等核心创新,为AI算力需求提供突破性解决方案。

red88的博客 1578

一个Git终端如何配置多个Git仓库和账户

通常情况下,很多公司会将代码托管到GitLab或者第三方平台上(如阿里)进行管理,而我们自己的开源项目等通常是托管到GitHub上,每个托管网站都对应一个Git账户。 默认情况下,一台电脑上的Git对应一个Git账户,也就只能往一个网站push代码,很不方便,尤其是对于用自己的电脑用来办公,操作不好,很容易产生冲突。 本篇文章将以双账户为例,详细介绍如何在一个Mac Git终端配置多个账户,同时管...

智海观潮的博客 1804

《Zephyr OS 入门与实战》第3章:第一个 Zephyr 程序 - Blinky 实战

解决方法:确认设备树overlay文件已正确加载。返回值,确认驱动初始化状态。

2301_79143213的博客 539

Git 账户管理指南:登录机制与用户信息查询

Git 账户管理指南:登录机制与用户信息查询在使用 Git 时,许多开发者常对两个问题感到困惑: 支持操作:仓库初始化、代码提交、分支管理、版本回退 唯一要求:配置提交者身份(非登录凭证,仅用于记录作者信息) 2. 需验证的远程操作 操作 验证方式 典型场景 HTTPS账号/令牌 或 SSH密钥 从GitHub拉取代码 同上 推送代码到远程仓库 同上 同步远程更新 二、查看Git用户名的4种方法 1. 查看当前仓库配置 2. 查看全局默认配置(最常用) 3. 定

wuxingwuyou的博客 1532

[系统安全] 十七.Windows PE病毒概念、分类及感染方式详解

作者前文介绍了PE文件格式,熟悉各种PE编辑查看工具,针对目标EXE程序新增对话框等;这篇文章将介绍Windows PE病毒, 包括PE病毒原理、分类及感染方式详解,并通过案例进行介绍。这些基础性知识不仅和系统安全相关,同样与我们身边的APP、常用软件及操作系统紧密联系,希望这些知识对您有所帮助,更希望大家提高安全意识,安全保障任重道远。本文参考了《软件安全》视频、安全网站和参考文献中的文章,并结合自己的经验和实践进行撰写,也推荐大家阅读参考文献。

杨秀璋的专栏 1万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Git多帐号配置,还有小乌龟TortoiseGit多账户配置

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Ma...

yumingli001的博客 6340

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

GIT配置SSH以及多账户配置

许多 Git 服务器都使用 SSH 公钥进行认证。 为了向 Git 服务器提供 SSH 公钥,如果某系统用户尚未拥有密钥,必须事先为其生成一份。 这个过程在所有操作系统上都是相似的。 首先,你需要确认自己是否已经拥有密钥。 默认情况下,用户的 SSH 密钥存储在其 ~/.ssh 目录下。 进入该目录并列出其中内容,你便可以快速确认自己是否已拥有密钥: 其中.pub后缀的是公钥(我这里是配置了两...

Fouse_的博客 1008

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Git 配置 SSH 密钥与私钥教程(跨平台完整指南)

本文详细介绍了在macOS、Windows和Linux系统上配置Git SSH密钥的全流程,包括生成密钥对、添加公钥到Git平台、测试连接以及多账户管理。不同系统的操作步骤均有说明,并附有常见问题解决方案。通过SSH密钥认证可提高Git操作的安全性和便利性,适合开发者在各种Git平台(如GitHub、GitLab等)上使用。文章最后还提供了多账户配置的方法,帮助用户灵活管理不同Git账号。

2503_92145588的博客 2万+

如何管理两个Git账户

在开发过程中,我们有时需要同时使用 多个 Git 账户(如个人 GitHub 账户和公司 GitLab 账户)。但由于 Git 默认使用全局配置,可能会导致提交信息混乱、权限冲突等问题。本文将介绍如何在同一台机器上 安全、高效地管理多个 Git 账户。

weixin_43495948的博客 852

Git学习——Git基本工作原理(入门级教程,通过玩转Git本地仓库,帮助新手快速入手Git)

(入门级教程,通过玩转Git本地仓库,帮助新手快速入手Git)本文主要介绍git的分区及各个分区间如何进行交互,并简单阐述git的基本工作原理。——本文不介绍git难点,如版本回溯和分支管理。

Super辉sir的博客 5128

对Git用户名与Github账户关系的理解

入门学习Git的过程中,产生了这样的困惑: 在电脑上,如果要用Git,我们需要通过命令git config --global user.name "myname"和git config --global user.email "myname@email.com"来配置用户名和email,表明是“谁”在操作Git,来做提交代码等等一系列操作。 另外,如果我们需要使用代码托管的服务,比如GitHub,...

Apple_Boy的博客 1万+

【Git】多个托管平台Git账户配置

通常情况,公司会搭建自己的gitlab代码托管服务或者将代码托管到第三方平台上,而我们自己的开源项目通常托管到Github上,每个托管平台都有对应的Git账户。接下来我将会以两个账号为例,进行相应的配置,以达到对不同托管平台上的仓库进行丝滑的操作。但是,在公司的仓库你可能使用自己真实的名字和工作邮箱,在github可能使用的是昵称和私有的个人邮箱。,可以看到这个ip是和Host里面对应的,你也可以更改仓库的origin,将这个ip改成任意一个你喜欢的,只要和上述配置中的Host对应就行。

Daniel的博客 1219

Git-SSH:在一台设备通过ssh管理多个Git账户

本文介绍了如何通过SSH配置实现一台电脑管理多个Git账户。主要内容包括:1. 安装Git和SSH环境,Windows/Linux系统下的具体步骤;2. 账户配置方法,包括为每个账户生成独立密钥(ed25519算法)、使用ssh-agent管理密钥、将公钥添加到Gitee/GitHub等平台;3. 创建SSH配置文件(~/.ssh/config),通过Host别名实现账户隔离;4. 测试连接和仓库操作时的注意事项,如修改远程仓库索引格式。这套方案解决了多账户切换繁琐的问题,使不同账户的代码提交互不干扰。

starschris的博客 665

配置本地环境以管理Git多账户SSH连接

是您自定义用来区分不同GitHub帐号连接配置别名。这将允许您通过别名区分要使用哪一组凭据。对于第二个(和随后每个)账户重复上述步骤,确保每次都使用不同的文件名。如果想要全局设置用户名和邮箱(适用于所有仓库),可以添加。当提示你输入文件名时,指定一个独特名称,例如。替换成与所创建 SSH 密匙相匹配帐号信息.其中 X 是你想推送代码所对应帐号序列.

kaikaile1995的博客 341

git配置远程仓库的认证信息

git配置远程仓库的的认证信息:用户在使用 Git 与远程仓库交互(比如:从远程仓库拉取/推送代码)时,远程仓库需要验证用户身份信息(不然岂不是谁都可以拉取代码了)来控制用户对远程仓库的访问权限,而这个身份信息就是认证信息。如果我们不配置认证信息的话,

LXC_Fish的博客 2441

git安装配置教程(小白保姆教程2024最新版)

git安装配置教程(小白保姆教程2024最新版)——Git是目前世界上最先进的分布式版本控制系统,没有之一!说到Git,另一个需要知道的便是GitHub,GitHub是目前使用最多的社交代码托管平台。Git Hub,字面意思就是Git中心枢纽的意思,它是基于Git的,仅支持git 作为唯一的版本库格式进行托管,故名GitHub。

一枚嵌入式小白菜的摸爬滚打之路 11万+
上一篇: [Mozilla]Ajax快速入门
下一篇: 2020年JavaScript全球调查报告,一起来看看趋势吧
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值