DarkTime
  • README
  • SpringBoot
    • spring boot 运维
    • Spring Boot 部署war包
    • springboot搭建
    • spring boot 读取配置文件
    • 简单总结
    • spring配置文件
    • spring boot Configuration
    • spring boot 配置文件
    • spring boot 配置mybatis
  • MacAwesome
    • markdown使用
    • MAC APP Awesome
    • [markdown使用](/MacAwesome/SUMMARY.md)
    • chrome
    • intellij idea
    • MacAwesome
    • VS Code 的使用
    • MAC Shell命令
  • database
    • druid使用
  • 框架
    • 项目拆析
    • 各种框架和工具
  • docker
    • kubernetes
    • docker
    • docker 常用镜像
  • 效率工具
    • 解决dns污染导致域名解析失败
    • sonarqube 相关配置
    • Iterm2 使用
    • gitbook
    • github awesome github资源推荐
    • playground 在线试用平台汇总
    • linux中的office
    • linux screen 工具
    • 简单Mock服务(moco)
    • npm
    • Visual Studio Code 的使用
    • 配置开发环境
    • homebrew的使用
    • 汇总
  • tomcat
    • tomcat目录规范
  • code_snippets
  • 专题
    • RESTful API
    • serveless服务
    • 搭建私有云主机 折腾记
    • 开发中的各种疑难杂症问题
    • spring 最佳实践
    • LLM 大语言模型
    • notelive
      • 文章框架
      • notelive vue版本开发
      • notelive 开发 札记
    • webrtc技术分析
    • 反向代理
    • spring-cloud
      • spring boot admin 监控服务
      • Spring Cloud 整理汇总
  • python
    • python 学习
    • Python 修饰器的一些小细节
  • 云主机
    • aliyun 主机的种种
  • maven
    • maven使用
    • maven项目增加编译版本号 buildnumber-maven-plugin
    • 仓库
  • java
    • java 开发常用工具类
    • java
    • apache commons pool 对象连接池
  • 大数据
    • kafka
    • gobblin
    • sqoop 简介及使用
    • hbase
    • gobblin
    • sqoop源码解析
    • hadoop map reduce
    • 大数据 学习札记
  • 脚本
    • python
      • 批量请求url 解析json数据
    • js
      • sheetjs-js读取excel
    • shell
      • 自动生成bitbook的summary文件
      • linux/mac 实用脚本
      • 自动创建tomcat项目脚本
      • 批量处理文件内容脚本
  • nginx
    • nginx
    • ngix 文件浏览器 文件服务器
  • linux
    • 群晖nas札记
    • ftp
    • linux 运维
    • 常用命令
    • linux
    • mysqldump脚本
    • 代理
    • 简易灰度部署脚本 不使用jenkins的纯shell方式
    • shell脚本
    • 附加文档
  • mysql
    • sql
  • 游戏开发
    • Unity 2020 学习笔记
  • 学习笔记
    • centos常用环境安装
    • gradle 学习
    • 建站经历
    • python
      • 爬虫教程
    • 如何解决百度爬虫无法爬取搭建在Github上的个人博客的问题? - 知乎
    • baas
      • 在本地部署Parse Server
    • mysql学习标记
    • java code snippets
    • 非Spring Boot Web项目 注册节点到Eureka Server并提供服务
    • kotlin
      • Kotlin 学习札记
    • spring cloud
    • vim配置
    • 前端
      • 开发PWA应用
  • jenkins
    • jenkins配置备份
    • gitlab触发Jenkins 自动构建
    • 安装与使用
  • npm
    • npm 使用
  • git
    • ignore
    • git使用总结
    • git配置多个远程仓库
  • 前端
    • swig
    • 解决跨域请求问题
    • angularjs 学习
    • scriptbot的前端开发经验总结
    • 各种资源
    • 一些有用的js代码
Powered by GitBook
On this page

Was this helpful?

  1. git

git配置多个远程仓库

Previousgit使用总结Next前端

Last updated 6 years ago

Was this helpful?

需求 想要把项目同步备份到coding中一份,期望每次push代码时可以同步push到coding仓库中

解决方案

  1. 在git仓库根目录执行 git remote add --mirror=push coding git@git.coding.net:example/example.git,添加一个镜像仓库,用来初始化镜像仓库数据或者pull镜像仓库数据时使用。

    对镜像仓库push数据时相当于执行git push --mirror,会强制覆盖仓库中的数据 ,会以镜像的方式把包括所有分支和历史的commit提交到目标仓库

  2. 执行

     git remote set-url origin --push --add git@git.coding.net:example/example.git
     git remote set-url origin --push --add git@github.com:example/example.git

    一定要把两个都设置上:设置origin的pushurl为这两个远程仓库url,当设置了pushurl之后便不会再使用url作为默认的pushurl了,所以一定要把两个都设置上

  3. 第一次设置后先执行git push coding把origin的代码镜像到coding仓库

  4. 使用

    使用时修改文件之后只需要正常的执行git push便会向两个目标仓库都推送一遍。

```git git config [remote "origin"] url = git@github.com:example/example.git fetch = +refs/heads/:refs/remotes/origin/ pushurl = git@git.coding.net:example/example.git pushurl = git@github.com:example/example.git [branch "master"] remote = origin merge = refs/heads/master [remote "coding"] url = git@git.coding.net:example/example.git mirror = true

```

另外 不推荐在镜像仓库修改文件,但是如果真的在镜像仓库修改了文件而需要同步到原始仓库,那么先git pull coding获取镜像仓库的最新代码,然后check out origin master ,然后在merge代码过来。具体可以借鉴GitHub官网的fork代码同步的操作步骤,

参考

Syncing a fork
git push如何至两个git仓库 - SegmentFault 思否
准备更换git托管,如何迁移原git仓库 - SegmentFault 思否
git本地仓库关联多个remote,怎么用本地一个分支向不同remote不同分支推送代码? - 知乎