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

Windows环境下实现GitLab与Gitee仓库代码提交隔离

1. 背景

在开发工作中,我需要同时使用2个代码托管平台:公司统一使用的GitLab和个人学习用的 Gitee。我希望能够在同一台电脑上方便地管理和提交两个平台的代码,实现账号和提交内容的有效隔离。

前提条件:

  • 已安装Git Bash、TortoiseGit及相关工具链;
  • 已完成GitLab环境配置(SSH密钥已部署)

2. 实现步骤

2.1. 在.ssh目录生成gitee对应的RSA密钥

进入电脑.ssh的目录,一般为C:\Users\Administrator\.ssh,右键点击Git Bash here,输入如下命令创建gitee对应的ssh key,提示输入文件命名和密码,命名为amber_gitee,密码回车设为空;随后在目录下便生成了amber_gitee.pub(# 公钥)和amber_gitee(# 私钥)两个文件。

ssh-keygen -t rsa -C 1353922342@qq.com

2.2. 将gitee对应的公钥上传到gitee服务器

打开amber_gitee.pub,复制ssh key,粘贴到下图位置;

2.3. 在.ssh目录创建config文本文件并完成配置

Git Bash here输入命令touch config,生成config文件,打开config文件,进行相关配置;

config文件配置如下:

# gitlab
Host yeestor.gitlabHostName gitlab.yeestor.comUser amber.chenPreferredAuthentications publickeyIdentityFile C:\Users\Administrator\.ssh\id_rsa# Gitee
Host gitee.comHostName gitee.comUser amber_chenPreferredAuthentications publickeyIdentityFile C:\Users\Administrator\.ssh\amber_gitee# 配置文件参数
# Host : 可以取自己喜欢的名字,会影响git相关命令,Host mygithub 命令为 git clone git@mygithub:PopFisher/AndroidRotateAnim.git
# HostName : 真实的域名地址
# User : 配置使用用户名
# PreferredAuthentications: 配置登录时用什么权限认证,可设为publickey,password publickey,keyboard-interactive等
# IdentityFile : id_rsa的地址,最好写绝对地址

2.4. 测试配置是否成功

Git Bash here输入如下命令后会自动在.ssh目录生成known_hosts文件,将把私钥配置进去;

2.5. 设置全局的用户名和邮箱

git config --global user.name 'amber_chen' 
git config --global user.email '1353922342@qq.com'

2.6. clone gitee代码

打开gitee上的代码仓库,复制其对应的clone命令,如下图所示,执行该命令即可clone到本地;

2.7. 使用TortoiseGit push到远端仓库

此时可以通过TortoiseGit Commit代码,但是不能通过TortoiseGit push到远端,因为TortoiseGit使用的是扩展名为ppk的密钥,而不是ssh-keygen生成的RSA密钥。因此需要用到TortoiseGit的putty key generator工具来生成适用于TortoiseGit的ppk密钥。

生成步骤省略,详见文章TortoiseGit的使用教程_tortoisegit用法-CSDN博客

右键TortoiseGit → Settings → Remote,选择amber_gitee.pp,应用并确定后即可通过TortoiseGit提交代码到远端;

参考文章:

  1. Windows下Git多账号配置,同一电脑多个ssh-key的管理 - popfisher - 博客园
  2. 一台电脑上配置多个git账号(gitee),向不同git线上仓库提交(命令行/TortoiseGit同时) 代码_多个项目如何往不同的git网站提交代码-CSDN博客

文章转载自:

http://Zwcjp6mj.zxrzs.cn
http://cSyexE8N.zxrzs.cn
http://j3BC6Z4l.zxrzs.cn
http://QV056eLV.zxrzs.cn
http://pr87FrwD.zxrzs.cn
http://4QPSX9bE.zxrzs.cn
http://kH0x20Oj.zxrzs.cn
http://gbCF0mfp.zxrzs.cn
http://7Tp6l4uE.zxrzs.cn
http://Z3L24JM7.zxrzs.cn
http://DHwzOTtm.zxrzs.cn
http://8b8i20gx.zxrzs.cn
http://iOgU6GiG.zxrzs.cn
http://6A9I1inM.zxrzs.cn
http://f1moX3l1.zxrzs.cn
http://nleVwUUA.zxrzs.cn
http://SOZOZaVD.zxrzs.cn
http://Ql3Xy4JL.zxrzs.cn
http://vf9bKdqM.zxrzs.cn
http://xsqxHsEY.zxrzs.cn
http://qXMoUEzx.zxrzs.cn
http://wuPb6ouD.zxrzs.cn
http://gM6rIK6s.zxrzs.cn
http://HhAnCcyB.zxrzs.cn
http://3H1vjYBl.zxrzs.cn
http://KwyO2K7D.zxrzs.cn
http://10gezpAs.zxrzs.cn
http://tci6FyIs.zxrzs.cn
http://gjM6y65e.zxrzs.cn
http://qyQepD3D.zxrzs.cn
http://www.dtcms.com/a/368066.html

相关文章:

  • PXM的JAVA并发编程学习总结
  • Cursor Pair Programming:在前端项目里用 AI 快速迭代 UI 组件
  • java面试中经常会问到的集合问题有哪些(基础版)
  • 23种设计模式——桥接模式 (Bridge Pattern)详解
  • AI日报 - 2025年09月05日
  • 23ai数据库通过SQLcl生成AWR报告
  • 销量骤降、降价自救,新别克GL8能否成为上汽通用救星?
  • 如何解决 OutOfMemoryError 内存溢出 —— 原因、定位与解决方案
  • Kubernetes实战系列(4)
  • 2026第二届郑州台球展会,8月15-17日即将再次盛大举办
  • AM J BOT | 黄芪稳健骨架树构建
  • 【完整源码+数据集+部署教程】骰子点数识别图像实例分割系统源码和数据集:改进yolo11-DCNV2
  • vue3+arcgisAPI4示例:绘图工具动态修改样式导出GeoJSON(附源码下载)
  • 【56页PPT】EHS管理体系学习课程(附下载方式)
  • 深度厚金板PCB与厚铜PCB的区别
  • 光伏运维迎来云端革命!AcrelCloud-1200如何破解分布式光伏四大痛点?
  • 5分钟征服Linux:20个神级命令+系统架构解密,让命令行恐惧症瞬间治愈!
  • 一文了解太阳光模拟器的汽车材料老化测试及标准解析
  • 笔记:现代操作系统:原理与实现(2)
  • 核心高并发复杂接口重构方案
  • java log相关:Log4J、Log4J2、LogBack,SLF4J
  • 计算机网络7 第七章 网络安全
  • python + flask 3 简单的授权验证(基于文件)
  • Spark面试题及详细答案100道(56-70)-- 性能优化
  • 高级RAG策略学习(五)——llama_index实现上下文窗口增强检索RAG
  • 毕业项目推荐:84-基于yolov8/yolov5/yolo11的合同印章检测识别系统(Python+卷积神经网络)
  • 理解损失函数:机器学习的指南针与裁判
  • uniapp阿里云验证码使用
  • 少儿舞蹈小程序(8)校区信息后台搭建
  • 在飞牛nas底层安装宝塔面板并部署网站