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

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

目录

  • 多个托管平台GIt账户如何配置
    • SSH 路由配置
      • 验证
    • 用户名邮箱配置
      • 验证

多个托管平台GIt账户如何配置

通常情况,公司会搭建自己的gitlab代码托管服务或者将代码托管到第三方平台上,而我们自己的开源项目通常托管到Github上,每个托管平台都有对应的Git账户。默认情况下,一台电脑对应一个GIt账户,这时候对不同托管平台上代码仓库的管理就变得很不方便。接下来我将会以两个账号为例,进行相应的配置,以达到对不同托管平台上的仓库进行丝滑的操作。

SSH 路由配置

首先,通常我们会在GIt上配置SSH Key,使用SSH地址代替HTTP地址,这样在下载或上传代码时就不需要输入账号密码了。那么多个托管平台呢?一种方式是全都使用同一个公私钥对,但是这样不是很安全,一个私钥不小心泄漏了,全部平台上的账号都将面临安全风险。一种更好的方式是为不同的账号配置不同的秘钥对,再修改$HOME/.ssh/config文件配置相应的ssh路由策略:

Host github.comPort 22User gitHostName github.comPreferredAuthentications publickeyIdentityFile ~/.ssh/github_rsaHost 192.168.10.136Port 22User gitHostName 192.168.10.136PreferredAuthentications publickeyIdentityFile ~/.ssh/gitlab_home

上面的配置文件中,第一项是配置github的,IdentityFile是你存放私钥的文件路径。
第二项是我在内网搭建的gitlab服务,下面解释一下

  • Host:是你GIt的外部访问地址,可以是ip也可以是域名。
  • HosName:是你真实访问的服务地址。

对于Host如果不清楚的话,可以进到你随便的一个仓库下,输入git config --local -l 查看下仓库的配置,找到这一项:remote.origin.url=ssh://git@192.168.10.136:22/mytest.git,可以看到这个ip是和Host里面对应的,你也可以更改仓库的origin,将这个ip改成任意一个你喜欢的,只要和上述配置中的Host对应就行。

验证

使用ssh -T验证下是否配置成功:

ssh -T github.com
ssh -T 192.168.10.136

如果配置成功则会返回类似如下信息:

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

用户名邮箱配置

ssh key已经配置好了,接下来我们clone了代码,实现了一段新的功能需要push到远程仓库,一般来说我们会在全局配置项添加用户和邮箱:

git config --global user.email “you@example.com”
git config --global user.name “Your Name”

但是,在公司的仓库你可能使用自己真实的名字和工作邮箱,在github可能使用的是昵称和私有的个人邮箱。一种方式是你可以在每个仓库下分别设置local级别的配置来分别设置名称和邮箱。但是这样太麻烦,更方便的做法是根据托管服务分别适配,修改$HOME/.gitconfig文件,添加如下配置:

[includeIf "hasconfig:remote.*.url:git@192.168.10.136:*/**"]path = ~/.gitconfig.gitlab[includeIf "hasconfig:remote.*.url:git@github.com:*/**"]path = ~/.gitconfig.github

~/.gitconfig.github ~/.gitconfig.gitlab文件中分别配置:

[user]name = yournameemail = yourname@xxxx.com

这样github会使用~/.gitconfig.github的配置,而私有gitlab则会使用~/.gitconfig.gitlab中的配置。
另外,如果是使用http的话这样配:

[includeIf "hasconfig:remote.*.url:http://192.168.10.136:80/**"]path = ~/.gitconfig.gitlab

验证

分别进到不用托管平台下的代码仓库中,查看local的git配置,看看是否和配置文件中的一致:

git config user.name
git config user.email

相关文章:

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

目录 多个托管平台GIt账户如何配置SSH 路由配置验证 用户名邮箱配置验证 多个托管平台GIt账户如何配置 通常情况,公司会搭建自己的gitlab代码托管服务或者将代码托管到第三方平台上,而我们自己的开源项目通常托管到Github上,每个托管平台都有…...

vue2 图片懒加载vue-lazyload 插件

1、npm install vue-lazyload --save 2、在项目的主文件(例如 main.js)中引入和使用插件: import Vue from vue import VueLazyload from vue-lazyloadVue.use(VueLazyload) 3、现在,你可以在需要懒加载图片的组件中使用 v-laz…...

element-ui button 组件源码分享

element-ui button 源码分享,基于对源码的理解,编写一个简单的 demo,主要分三个模块来分享: 一、button 组件的方法。 1.1 在方法这块,button 组件内部通过暴露 click 方法实现,具体如下: 二、…...

Spring实现事务(一)

Spring事务 .什么是事务事务的操作Spring中事务的实现准备工作创建表创建项目,引入Spring Web, Mybatis, mysql等依赖配置文件实体类 编程式事务(手动写代码操作事务)声明式事务(利用注解自动开启和提交事务) . 什么是事务 事务是⼀组操作的集合, 是⼀个不可分割的操作 在我们…...

获取依赖aar包的两种方式-在android studio里引入 如:glide

背景:我需要获取aar依赖到内网开发,内网几乎代表没网。 一、 如何需要获取依赖aar包 方式一:在官方的github中下载,耗时不建议 要从开发者网站、GitHub 存储库或其他来源获取 ‘com.github.bumptech.glide:glide:4.12.0’ AAR 包&#xff…...

vue3-深入组件-依赖注入

Prop 逐级透传问题 通常情况下,当我们需要从父组件向子组件传递数据时,会使用 props。 如果是多层级嵌套的组件,如何从一级传递到 3 级甚至更远呢。 若使用 props 则必须将其沿着组件链逐级传递下去,这会非常麻烦,所…...

【项目日记(七)】第三层: 页缓存的具体实现(上)

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:项目日记-高并发内存池⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你做项目   🔝🔝 开发环境: Visual Studio 2022 项目日…...

深入解剖指针篇(2)

目录 指针的使用 strlen的模拟实现 传值调用和传址调用 数组名的理解 使用指针访问数组 一维数组传参的本质 冒泡排序 个人主页(找往期文章):我要学编程(ಥ_ಥ)-CSDN博客 指针的使用 strlen的模拟实现 库函数strlen的功能是求字符串…...

【知识点】Java常用

文章目录 基础基础数据类型内部类Java IOIO多路复用重要概念 Channel **通道**重要概念 Buffer **数据缓存区**重要概念 Selector **选择器** 关键字final 元注解常用接口异常处理ErrorException JVM与虚拟机JVM内存模型本地方法栈虚拟机栈 Stack堆 Heap方法区 Method Area (JD…...

MySQL篇—迁移数据目录到新的本地路径

☘️博主介绍☘️: ✨又是一天没白过,我是奈斯,DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux,也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注❣…...

【FPGA】高云FPGA之IP核的使用->PLL锁相环

FPGA开发流程 1、设计定义2、设计输入3、分析和综合4、功能仿真5、布局布线6、时序仿真7、IO分配以及配置文件(bit流文件)的生成8、配置(烧录)FPGA9、在线调试 1、设计定义 使用高云内置IP核实现多路不同时钟输出 输入时钟50M由晶…...

程控设备和电脑通信的总线和协议选择

文章目录 程控设备都通过什么协议和总线和电脑通信?工控设备都使用什么通信协议与电脑通信?各种工控设备通信协议的优缺点如何选择适合工控设备的通信协议?各种工控设备通信总线的优缺点如何判断一种总线是否适合特定的应用场景?程控设备都通过什么协议和总线和电脑通信? …...

鸿蒙开发-UI-组件导航-Navigation

鸿蒙开发-UI-组件 鸿蒙开发-UI-组件2 鸿蒙开发-UI-组件3 鸿蒙开发-UI-气泡/菜单 鸿蒙开发-UI-页面路由 文章目录 目录 一、基本概念 二、页面显示模式 1.自适应模式 2.单页面模式 3.分栏模式 三、标题栏模式 1.Mini模式 2.Full模式 四、菜单栏 五、工具栏 六、案例 …...

Codeforces Round 922 (Div. 2)(A~D)补题

A题考虑贪心,要使使用的砖头越多,每块转的k应尽可能小,最小取2,最后可能多出来,多出来的就是最后一块k3,我们一行内用到的砖头就是 m 2 \frac{m}{2} 2m​下取整,然后乘以行数就是答案。 #inclu…...

Seata下载与配置、启动

目录 Seata下载Seata配置启动Seata Seata下载 首先,我们需要知道我们要使用哪个版本的seata,这就要查看spring-cloud-alibaba版本说明,找到我们对应的seata。 spring-cloud-alibaba版本说明: 地址链接 下面是部分版本说明: s…...

什么是TCP三次握手、四次挥手?

1、三次握手 你(客户端)给一个朋友(服务器)打电话,告诉他你想开始对话。这就像是发送一个SYN(同步序列编号)信号,表示你想开始建立连接。(client向server发送syn,seqx,此时client验证client发送能力正常。client置为SYN SENT状态)…...

C++程序在开机自启和定时器执行时遇到的问题和解决方法

遇到的错误如下: Camera is created.load vfvlog.[dll/so] failed for dll[/vfvlog.so] unexistedLoadDbgConfig, LoadFile fail, err:-3, errno: No such file or directoryqt.qpa.xcb: could not connect to displayqt.qpa.plugin: Could not load the Qt platfo…...

R17 extended DRX(eDRX)

根据工业无线传感器的要求,电池至少可持续使用数年。 在NB-IoT和LTE eMTC中,也有类似的要求。 为了满足极长电池寿命的要求,NB-IoT和LTE eMTC在Release 13中为RRC IDLE UE引入了扩展DRX,在Release 16中为RRC INACTIVE UE引入了eDRX,上面是LTE 引入eDRX的背景。 一 概述 到…...

Debezium发布历史102

原文地址: https://debezium.io/blog/2021/02/24/debezium-1-5-beta1-released/ 欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯. Debezium 1.5.0.Beta1 发布 2021 年 2 月 24 日 作者: Gu…...

探索自然语言处理在改善搜索引擎、语音助手和机器翻译中的应用

文章目录 每日一句正能量前言文本分析语音识别机器翻译语义分析自然语言生成情感分析后记 每日一句正能量 努力学习,勤奋工作,让青春更加光彩。 前言 自然语言处理(NLP)是人工智能领域中与人类语言相关的重要研究方向&#xff0c…...

DS4Windows 3步掌握:如何在Windows上完美使用PS4手柄

DS4Windows 3步掌握:如何在Windows上完美使用PS4手柄 【免费下载链接】DS4Windows Like those other ds4tools, but sexier 项目地址: https://gitcode.com/gh_mirrors/ds/DS4Windows DS4Windows是一款功能强大的开源工具,让你在Windows电脑上也能…...

行业内热门的饲料颗粒机厂家哪家靠谱

在饲料生产链条中,颗粒机作为核心成型设备,其性能直接关系到饲料品质、能耗水平以及综合运营成本。然而,当前行业内部分产品仍面临显著的技术瓶颈,制约着生产效率的进一步提升。本文将深入剖析行业痛点,并以荥阳市光辉…...

避坑指南:STM32F407的DAC输出Buffer为啥会导致0V?ADC连续转换模式与DMA配置的细节解析

STM32F407模拟信号处理实战:DAC输出与ADC采样的深度避坑指南 1. 从异常现象到原理剖析:DAC输出Buffer的隐藏陷阱 调试STM32F407的DAC外设时,不少开发者都遇到过这样的困惑:明明配置了正确的数值,输出电压却始终为0V。…...

书匠策AI:你的毕业论文“外挂“已上线,这功能也太懂大学生了吧!

哈喽各位同学们,我是你们的论文写作科普博主。今天不讲什么"论文写作十大技巧"那种老掉牙的东西,今天要给大家安利一个我最近发现的宝藏工具——书匠策AI, 官网直达:www.shujiangce.com,微信公众号搜"书…...

终极M3U8视频下载指南:5个技巧轻松掌握开源工具

终极M3U8视频下载指南:5个技巧轻松掌握开源工具 【免费下载链接】N_m3u8DL-CLI-SimpleG N_m3u8DL-CLIs simple GUI 项目地址: https://gitcode.com/gh_mirrors/nm3/N_m3u8DL-CLI-SimpleG 想要下载在线视频却总是失败?面对M3U8格式束手无策&#x…...

Display Driver Uninstaller (DDU) 终极指南:显卡驱动彻底清理的完整解决方案

Display Driver Uninstaller (DDU) 终极指南:显卡驱动彻底清理的完整解决方案 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/displa…...

Unity IL2CPP运行时调试:Frida-il2cpp-bridge实战指南

1. 这不是“教你怎么黑游戏”,而是Unity开发者该懂的底层透视镜你有没有在调试一个Unity项目时,突然发现某个C#方法的行为和预期完全不符,但断点打进去却卡在IL2CPP生成的汇编里,连变量名都看不到了?或者你在做性能优化…...

2026年企业AI落地新趋势!RAG知识库实战指南:环境搭建到生产部署全解析

本文介绍了RAG(检索增强生成)技术在企业知识库中的应用,通过从环境搭建到生产部署的完整实战指南,阐述如何利用RAG提升大语言模型回答的准确性、可追溯性和时效性。文章涵盖了基础环境配置、技术选型、数据准备、知识库构建、RAG系…...

我的日常开发工具迭代|MonkeyCode实测存档

做开发日常,其实大部分编码需求都很琐碎,根本用不上繁杂的专业工具。但市面上的AI编程软件,要么收费贵、额度抠搜,要么功能臃肿、操作繁琐,用起来处处受限。我一直在找一款适配个人日常使用、不折腾、无套路的轻量化编…...

Mainframer错误排查指南:常见问题及解决方法大全

Mainframer错误排查指南:常见问题及解决方法大全 【免费下载链接】mainframer Tool for remote builds. Sync project to remote machine, execute command, sync back. 项目地址: https://gitcode.com/gh_mirrors/ma/mainframer Mainframer是一款高效的远程…...