git 在不同服务器主机上同步 git 仓库
git 在不同服务器主机上同步 git 仓库
参考链接:https://opentechguides.com/how-to/article/git/177/git-sync-repos.html
1.在本地的一个文件夹中执行:
git clone --mirror ssh://[url]/repo_name.git
cd ropo_name.git
git remote add --mirror=fetch [secondary_romote_name] ssh://[url]/secondary_repo_name.git
2.同步
git fetch origin
git push [secondary_remote_name] --all #这是把所有分支都push
如果想单独push一个分支:
git push [secondary_remote_name] [branch]
例如:
git push [secondary_remote_name] master
设置默认的 push,下次只用 git push 即可:
git push -u [secondary_remote_name] master
3.在remote中添加多个可 push 的 url
有时候我们不止有多一个 remote 的 git 仓库,我们希望在 push 一个 remote 的时候,同时更新多个 url
git remote set-url --add --push [url] #注意:一定要把第一个 url 也执行一次,不然每次push ,只会push 你 add 的那些 url,fetch url 并不会push
git remote set-url --add --push [url_2]
其实这是在 git config 中添加了相应的内容(蓝色):
[remote "secondary_remote_name"]
url = ssh://[path]/repo_name.git
fetch = +refs/*:refs/*
pushurl = ssh://[path]/repo_name.git
pushurl = ssh://[path_2]/repo_name_2.git
所以我们可以直接在该 remote section 下面复制修改即可,是不是很方便
分析:
通过 --mirror 克隆的是一个 bare repo,里面的内容和服务器的一样,进入仓库后,显示的分支是[BARE:master],在这个文件夹里面,不能使用 work tree 相关的 git 命令,例如 git status,git pull。
secondary_repo_name.git 和 repo_name.git 的内容是完全一致的。
git 在不同服务器主机上同步 git 仓库的更多相关文章
- GitHub学习二-将本地Git库与Github上的Git库相关联
0 git clone 如果是从自己的github clone,一键搞定,和三步的git remote add功能一样. 1.创建本地库 新建目录,右键git bash here,输入 git ini ...
- git的使用(包括创建远程仓库到上传代码到git的详细步骤以及git的一些常用命令)
A创建远程仓库到上传代码到git 1)登陆或这注册git账号 https://github.com 2)创建远程仓库 3)打开终端输入命令 cd到你的本地项目根目录下,执行如下git命令 git in ...
- GIT的使用(Gitlab上传本地仓库代码,Webstorm修改更新)
准备:GIT的安装,Gitlab账户登陆,webstorm的安装 1.首先,你得先会在Gitlab中创建一个团体,在团体中创建一个项目,先建组,再建项目,网上哪里都有教程,随便找了个网址: https ...
- Git——新手入门与上传项目到远程仓库GitHub(转)
Git概述 什么是Git? 刚开始对这个东西也感到挺迷茫,并且问了好多已经学习android一段时间的同学也是一头雾水,直到了解并使用之后,才体会到Git的好处以及重要意义. Git:是目前世界上最先 ...
- Git进行fork后如何与原仓库同步
在进行Git协同开发的时候,往往会去fork一个仓库到自己的Git中,过一段时间以后,原仓库可能会有各种提交以及修改,很可惜,Git本身并没有自动进行同步的机制,这个需要手动去执行.name如何进行自 ...
- 将本地已经存在的非git项目提交到github上的空仓库
一.本地项目执行操作 1.在本地项目目录下初始化git仓库 git init 2.将本地项目下工作区的所有文件添加到git版本库的暂存区中 git add . (可以创建.gitignore文件忽略不 ...
- 【Git/GitHub学习笔记】基本操作——创建仓库,本地、远程同步等
近日想分享一些文件,但是用度盘又太麻烦了(速度也很恶心).所以突发奇想去研究了下GitHub的仓库,这篇文章也就是一个最最最基础的基本操作.基本实现了可以在GitHub上存储文本信息与代码. 由于我的 ...
- 使用网盘(Dropbox/Google Drive)同步Git仓库
还在使用老掉牙的U盘搬运代码(文件)的方式,从一台机器上复制后,粘贴到另一台机器上?太Out了.使用Github 倒是一个非常不错的替代方法.但无论是基于什么理由都有可能不想把代码公开(毕竟Githu ...
- 借助Git实现本地与GitHub远程双向传输(同步GitHub仓库)以及一些使用错误解决
前言 GitHub作为程序员必备的学习交流平台,虽然在国内速度不算快,但只要好好利用这个平台,我相信还是可以学习到很多东西.在暑期的时候,我曾经就初次远程连接到了GitHub,但开学后,不知道为什么又 ...
随机推荐
- 【VS开发】如何判断客户端SOCKET已经断开连接?
http://biancheng.dnbcw.info/linux/366100.html 最近在做一个服务器端程序,C/S结构.功能方面比较简单就是client端与server端建立连接,然后 ...
- C++ 理解函数对象与lambda表达式
参考<21天学通C++>第21与第22章节,对函数对象进行介绍,同时通过lambda表达式这一匿名函数对象的简洁方式加深对函数对象的理解.本篇博文的主要内容是: (1) 函数对象的概念: ...
- C#等比例缩放图片
等比例缩放图片(C#) private Bitmap ZoomImage(Bitmap bitmap, int destHeight, int destWidth) { try { System.Dr ...
- Intellij IDEA 打包jar的多种方式
IDEA打包jar包的多种方式 用IDEA自带的打包形式 用Maven插件maven-shade-plugin打包 用Maven插件maven-assembly-plugin打包 1.view-> ...
- DVWA 安全测试靶机本地搭建
前期的搭建步骤这里就不多做表述了,网上文章很多,这里主要讲后续会遇到的问题和需要修改的地方. 首先将config-inc.php.dist 修改为config-inc.php 设置Key值 $_ ...
- Asp.Net Core Identity中基于角色授权
我们已经在之前介绍了简单的授权是在Controller或Action上添加属性Authorize来实现,那角色授权是在指定Authorize的同时指定Roles参数. 我们来看看基于角色访问的三种方式 ...
- pytorch1.0实现RNN for Regression
import torch from torch import nn import numpy as np import matplotlib.pyplot as plt # 超参数 # Hyper P ...
- AVR单片机教程——点亮第一个LED
做了这么多准备,我们终于可以开始用开发板做点事了. 单片机编程与计算机编程有一些不同点.程序都要有零个或多个输入.一个或多个输出,这是两者都有的,但是计算机编程的输入输出主要靠控制台,而单片机没有. ...
- Android--圆角背景style
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http: ...
- PB笔记之调用数据窗口时的过滤条件添加方式
在PB查询数据窗口的数据时 通常可以有两种方式 一是在数据窗口事先写好查询条件,然后用retrieve()函数通过参数传递给数据窗口 这种方式适合查询条件较为简单,条件数较少的数据窗口 二是使用Set ...