当前位置: 首页 > news >正文

git 配置多端多个账号(码云、github、gitlab)

首先要确认已经安装 Git,可以通过执行 git --version 命令来查看当前安装的版本。

想为同一个电脑配置多个 Git 账户,需要完成以下整体流程:

  1. 清空默认的全局 user.nameuser.email 配置项;
  2. 为不同的 Git 账户生成不同的 SSH 密钥;
  3. 将以上的 SSH 密钥分别添加到 SSH-Agent 信任列表;
  4. 将以上的公钥添加到相应的 Git 账户中;
  5. config 文件中配置多个 SSH 密钥;
  6. 进行测试。

1、清空默认的全局 user.name 和 user.email

git config --global --unset user.name
git config --global --unset user.email

可以通过运行 git config --global --list 命令来查看 Git 的全局配置情况。

2、配置多个 Git 账户的用户名和邮箱:

  1. 单个配置
git config --global user.name "yourusername"
git config --global user.email "youremail@email.com"
  1. 多个配置

注意: 这里git config命令没有带—global,表示这是一个局部的设置,即该用户只在当前项目中使用,而不是全局的。

git config user.name "1"
git config user.email "1@hotmail.com"
  1. 删除配置
git config --unset user.name
git config --unset user.email

3、生成多个 SSH 密钥

管理员打开控制台

  1. 生成 gitte 仓库的 SSH

指定文件路径,方便后面操作:~/.ssh/id_rsa.gitee,id_rsa.github是秘钥的别名。

ssh-keygen -t rsa -f ~/.ssh/id_rsa.gitee -C "xxxxx@qq.com"
  1. 生成 github 仓库的 SSH
ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C "xxxxx@qq.com"

4、将 ssh-key 分别添加到 ssh-agent 信任列表

ssh-agent bash
ssh-add ~/.ssh/id_rsa.gitee
ssh-add ~/.ssh/id_rsa.github

如果看到 Identitiy added: ~/.ssh/id_ras_github,就表示添加成功了。

5、将公钥添加到相应的 Git 账户中

使用以下命令将公钥复制到粘贴板中,然后粘贴到 Git 账户的 SSH 密钥中。也可以直接打开文件进行复制,文件名带有 .pub 后缀。

pbcopy < ~/.ssh/id_rsa.gitee

6、在 config 文件 (在 .ssh 目录下 ) 中配置多个 SSH 密钥

#Default gitHub user Self
Host githubHostName github.comUser git #默认就是git,可以不写IdentityFile ~/.ssh/id_rsa.github# gitee的配置
host gitee Hostname gitee.com #要连接的服务器#密钥文件的地址,注意是私钥IdentityFile ~/.ssh/id_rsa.gitee#Add gitLab user 
Host myGitHostName git.xxxxx.cnIdentityFile ~/.ssh/id_rsa.xxxx

7、进行测试

ssh -T git@gitee.comgit clone git@{配置的 Host}:xxx/xxxx.git
git clone git@myGit:xxx/xxxx.git

相关文章:

  • vue3 中使用 sse 最佳实践,封装工具
  • #HarmonyOS:软件安装window和mac预览Hello World
  • Java中富文本转markdown
  • MySQL 数据库如何实现 XA 规范?
  • 开发一款短剧视频小程序软件多少钱?
  • 道可云会展元宇宙平台全新升级,打造3D沉浸式展会新模式
  • Canvas鼠标画线
  • 基于Python的PyGame的俄罗斯方块游戏设计与实现
  • 算法leetcode|91. 解码方法(rust重拳出击)
  • 信号完整性分析
  • ChatGPT一周年,奥特曼官宣 OpenAI 新动作!
  • [MTK]安卓8 ADB执行ota升级
  • 简单实现Spring容器(二)
  • uniapp 显示文件流图片
  • 利用ElementUI配置商品的规格参数
  • [ JavaScript ] 数据结构与算法 —— 链表
  • 【347天】每日项目总结系列085(2018.01.18)
  • 【Linux系统编程】快速查找errno错误码信息
  • 2019.2.20 c++ 知识梳理
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • Lucene解析 - 基本概念
  • magento 货币换算
  • PHP变量
  • ReactNative开发常用的三方模块
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • Theano - 导数
  • ViewService——一种保证客户端与服务端同步的方法
  • vue 个人积累(使用工具,组件)
  • Vue2.0 实现互斥
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 前端工程化(Gulp、Webpack)-webpack
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 小李飞刀:SQL题目刷起来!
  • 用jquery写贪吃蛇
  • 栈实现走出迷宫(C++)
  • Semaphore
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • # 计算机视觉入门
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (1)虚拟机的安装与使用,linux系统安装
  • (BFS)hdoj2377-Bus Pass
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (八)c52学习之旅-中断实验
  • (二)springcloud实战之config配置中心
  • (二)windows配置JDK环境
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (一) storm的集群安装与配置
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (一)SpringBoot3---尚硅谷总结
  • (转)Google的Objective-C编码规范
  • (转)Linux下编译安装log4cxx
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .NET Core 通过 Ef Core 操作 Mysql