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

聊下 git 多账户问题

背景

在使用 git 的时候我们都会面临多账户问题,比较常见的就是公司内部的 gitlab,开源平台 github ,我们都需要在一台电脑上同时使用,这需要解决两个问题。

git 多账号配置

git config –global user.name 设置全局用户名 
git config –global user.email 设计全局邮箱

git config –global 设置默认会作用所有的 git repository ,当我们分别 git clone 了 gitlab 、github 的 repository时,需要分别为每个 git clone 下来的 repository 设置当前仓库的 user.name 、user.email 。

这个问题请参见本人的 git 系列文章 -> 聊下 git 使用前的注意事项

ssh 多密钥对配置

我们都知道 git 是基于 ssh 协议,git 通过 ssh agent 建立与远程链接和验证。

ssh 通过 rsa 私钥进行加密传输到 git server ,git server 再通过查找对应的 rsa pub key 进行解密,以验证是否当前提交过来的合法信息。

我们通过 ssh-keygen 分别创建不同的 rsa 密钥对,如果你没有特殊处理过公司内部私有的密钥对一般都是默认的名称 id_rsaid_rsa.pub 。

如果我们是第一次创建 git 账号,第一次可以纯粹默认的创建过程

ssh-keygen -t rsa


一路 enter 回车,然后配置好公司内部的 gitlab ,正常提交。

然后再通过 ssh-keygen 创建的时候另起一个名字,比如 github 、github.pub 一对,这和创建默认的 id 、id.pub 没什么区别。

然后通过 ssh-add 将新创建的 github 专用密钥添加进 ssh-agent cache 中。

ssh-add ~/.ssh/github


然后查看 ssh agent 密钥 cache 列表。


ssh-add -l


1.png

再将 github.pub 公钥配置到我们的 github 的账号中就可以了。

然后就能正常使用gitlab、github 了。如果你不放心怕两个key 混淆了,你可以将其中一个key从ssh agent 中移除。

ssh-add -d ~/.ssh/github


然后在试着git push 代码,如果不错说明就正确了。

谢谢


相关文章:

  • Datanode Hang with High thread blocked
  • 安装heartbeat
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • 菜鸟学Linux 第065篇笔记 nfs
  • 更改INSM地址的操作
  • centos 7 yum安装kubernetes cluster 1.0
  • C++字符串string类常用操作详解(一)【初始化、遍历、连接】
  • Java设计模式圣经连载(03)-抽象工厂模式
  • Centos中文乱码问题的解决。
  • Python函数知识汇总-课堂笔记
  • AD与DNS集成,且有备份AD与DNS,主AD与DNS坏,备份DNS如何成为主
  • SubSonic3.0使用外连接查询时查询不出数据的问题修改
  • 海量文件拷贝(Windows/Linux)
  • VS.net和Reflector 图标解释
  • EPEL源
  • [Vue CLI 3] 配置解析之 css.extract
  • 【附node操作实例】redis简明入门系列—字符串类型
  • GitUp, 你不可错过的秀外慧中的git工具
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • orm2 中文文档 3.1 模型属性
  • vue-router的history模式发布配置
  • XForms - 更强大的Form
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 第十八天-企业应用架构模式-基本模式
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 系统认识JavaScript正则表达式
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 延迟脚本的方式
  • 一道闭包题引发的思考
  • 阿里云服务器购买完整流程
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • 容器镜像
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (转)LINQ之路
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .Net(C#)自定义WinForm控件之小结篇
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值
  • .Net8 Blazor 尝鲜
  • .NET成年了,然后呢?
  • .NET中 MVC 工厂模式浅析
  • @EnableConfigurationProperties注解使用
  • [20170728]oracle保留字.txt
  • [ASP.NET MVC]如何定制Numeric属性/字段验证消息
  • [BZOJ 4598][Sdoi2016]模式字符串
  • [C++参考]拷贝构造函数的参数必须是引用类型
  • [CareerCup] 2.1 Remove Duplicates from Unsorted List 移除无序链表中的重复项
  • [COGS 622] [NOIP2011] 玛雅游戏 模拟
  • [ffmpeg] av_opt_set 解析
  • [GXYCTF2019]禁止套娃