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

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

IDEA和GIT关于文件中LF和CRLF问题及解决

《IDEA和GIT关于文件中LF和CRLF问题及解决》文章总结:因IDEA默认使用CRLF换行符导致Shell脚本在Linux运行报错,需在编辑器和Git中统一为LF,通过调整Git的core.aut... 目录问题描述问题思考解决过程总结问题描述项目软件安装shell脚本上git仓库管理,但拉取后,上l

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

Java集合之Iterator迭代器实现代码解析

《Java集合之Iterator迭代器实现代码解析》迭代器Iterator是Java集合框架中的一个核心接口,位于java.util包下,它定义了一种标准的元素访问机制,为各种集合类型提供了一种统一的... 目录一、什么是Iterator二、Iterator的核心方法三、基本使用示例四、Iterator的工

Java 线程池+分布式实现代码

《Java线程池+分布式实现代码》在Java开发中,池通过预先创建并管理一定数量的资源,避免频繁创建和销毁资源带来的性能开销,从而提高系统效率,:本文主要介绍Java线程池+分布式实现代码,需要... 目录1. 线程池1.1 自定义线程池实现1.1.1 线程池核心1.1.2 代码示例1.2 总结流程2. J

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

JS纯前端实现浏览器语音播报、朗读功能的完整代码

《JS纯前端实现浏览器语音播报、朗读功能的完整代码》在现代互联网的发展中,语音技术正逐渐成为改变用户体验的重要一环,下面:本文主要介绍JS纯前端实现浏览器语音播报、朗读功能的相关资料,文中通过代码... 目录一、朗读单条文本:① 语音自选参数,按钮控制语音:② 效果图:二、朗读多条文本:① 语音有默认值:②

Vue实现路由守卫的示例代码

《Vue实现路由守卫的示例代码》Vue路由守卫是控制页面导航的钩子函数,主要用于鉴权、数据预加载等场景,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一、概念二、类型三、实战一、概念路由守卫(Navigation Guards)本质上就是 在路

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni