git配置3 - 一个git仓库同时push到多个代码托管平台

2024-06-15 16:04

本文主要是介绍git配置3 - 一个git仓库同时push到多个代码托管平台,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 1. 应用场景
  • 2. 单个代码托管平台时
  • 3. 多个代码托管平台时
    • 3.1. 在github上创建一个项目
    • 3.2. 添加远端仓库关联
    • 3.3. 查看关联的远端仓库
    • 3.4. 推送代码到github

1. 应用场景

场景一:

你有一个开源的项目,你希望托管到多个开源代码托管平台。比如github和gitee(github在中国大陆部分地区会非常卡,有时也会被禁止访问,所以你可能希望加一个中国大陆能畅通访问的平台)。

场景二:

你公司有一个对外的项目,希望能开源出去。公司会有自己的代码仓库托管平台(比如gitlab等),开源的项目也需要放到github上。所以你需要将代码更新同时推送到公司内部平台(假设是gitlab)和github。

2. 单个代码托管平台时

单个代码托管平台的场景很简单,可以自行搜索,这里不在详述。

查看关联的远端仓库:

# 指令
git remote -v# 示例
# 关联一个远端仓库时
➜  common_util git:(master)git remote -v
origin git@gitee.com:spencer_luo/common_util.git (fetch)
origin git@gitee.com:spencer_luo/common_util.git (push)

3. 多个代码托管平台时

前提条件:
我当前的项目(common_util)是托管在gitee上的,现在需要将项目同时托管到github上。

3.1. 在github上创建一个项目

  1. 注册github账号
  2. 配置SSH key,可以参考 http://sunlogging.com/2024/06/14/dev_tool/git_config_2/
  3. 创建一个项目, 可以创建一个新的项目(建议项目名称保持一致),也可以从gitee导入项目到github上(github支持从其他平台导入项目)。
  4. 获取项目的clone地址,ssh类型的地址。如 git@github.com:spencer-luo/common_util.git

3.2. 添加远端仓库关联

# 指令
git remote add <name> <url>
# name:远程仓库名,可以自定义名称
# url:远程仓库地址# 举例
# 添加github远端仓库关联
git remote add github git@github.com:spencer-luo/common_util.git

3.3. 查看关联的远端仓库

  1. 命令查看
# 指令
git remote -v# 示例
# 关联两个远端仓库时:(git remote -v)
➜  common_util git:(master) git remote -v
github git@github.com:spencer-luo/common_util.git (fetch)
github git@github.com:spencer-luo/common_util.git (push)
origin git@gitee.com:spencer_luo/common_util.git (fetch)
origin git@gitee.com:spencer_luo/common_util.git (push)
  1. 配置文件查看

添加的远端仓库关联,保存在项目目录下的.git/config文件中。

cat .git/config 

.git/config配置

3.4. 推送代码到github

  1. 推送代码
# 切到develop分支
gco develop
# 提交到gitee
git push origin develop
# 提交到github
git push github develop
  1. 推送标签
# 创建标签
git tag v1.0.1
# 推送标签到 gitee
git push origin v1.0.1
# 推送标签到 github
git push github v1.0.1

这篇关于git配置3 - 一个git仓库同时push到多个代码托管平台的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1063921

相关文章

Redis Cluster模式配置

《RedisCluster模式配置》:本文主要介绍RedisCluster模式配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录分片 一、分片的本质与核心价值二、分片实现方案对比 ‌三、分片算法详解1. ‌范围分片(顺序分片)‌2. ‌哈希分片3. ‌虚

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Java中Map.Entry()含义及方法使用代码

《Java中Map.Entry()含义及方法使用代码》:本文主要介绍Java中Map.Entry()含义及方法使用的相关资料,Map.Entry是Java中Map的静态内部接口,用于表示键值对,其... 目录前言 Map.Entry作用核心方法常见使用场景1. 遍历 Map 的所有键值对2. 直接修改 Ma

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

maven私服配置全过程

《maven私服配置全过程》:本文主要介绍maven私服配置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录使用Nexus作为 公司maven私服maven 私服setttings配置maven项目 pom配置测试效果总结使用Nexus作为 公司maven私

springboot加载不到nacos配置中心的配置问题处理

《springboot加载不到nacos配置中心的配置问题处理》:本文主要介绍springboot加载不到nacos配置中心的配置问题处理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录springboot加载不到nacos配置中心的配置两种可能Spring Boot 版本Nacos

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas