Git使用小技巧之多个远程仓库
想要获取更多文章可以访问我的博客 - 代码无止境。
这是一个普通的工作日,小代正在勤勤恳恳的写代码。这时陈BOSS走到小代身边,跟小代说:“我们的代码需要同时推送到Github和码云两个仓库,你研究一下怎么搞吧。” 乐于研究和学习的小代自然是毫不犹豫的答应了下来。
准备工作
好,我们先来看下完成这篇文章的学习需要准备哪些东西。自然是一个本地的git仓库。
mkdir git-test
cd git-test
git init
touch README.md
执行了这几行命令之后,我们还需要在Github和码云上分别新建两个远程仓库。到这里我们就有了一个和小代差不多的本地环境。下面我们就一起来看下小代是通过怎样的操作来实现陈BOSS的需求的。
小代的操作
首先小代思考的是如何在一个项目中添加两个远程仓库。经过一番搜索,小代知道了下面的命令可以给仓库添加远程仓库。
git remote add [shortname] [url]
PS:我们解释一下这行命令的两个参数,第一个参数其实就是我们后面推送到这个远程仓库的时候都使用这个名称来代替仓库地址,第二个参数就是远程仓库的地址了,这句命令应该很好理解。
然后小代就在本地仓库根目录执行了下面两行命令,为本地仓库添加了两个远程仓库。
git remote add gitee https://gitee.com/gancy/git-test.git
git remote add github https://github.com/ganchaoyang/git-test.git
然后我们修改README文件后,可以分别往两个仓库推送代码。
git add *
git commit -m "first commit"
git push -u github master
git push -u gitee master
通过两句git push命令我们确实可以向两个远程仓库推送代码,但是作为一个喜欢偷懒的程序员的小代同学绝不满足于此,于是他就想有没有一种方式可以一句命令就同时push到两个远程仓库。于是乎就有了下面的操作。小代修改了.git/config文件中的内容。原文件内容如下:
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "gitee"]
url = https://gitee.com/gancy/git-test.git
fetch = +refs/heads/*:refs/remotes/gitee/*
[remote "github"]
url = https://github.com/ganchaoyang/git-test.git
fetch = +refs/heads/*:refs/remotes/github/*
[branch "master"]
remote = gitee
merge = refs/heads/master
修改后的内容为:
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = https://gitee.com/gancy/git-test.git
url = https://github.com/ganchaoyang/git-test.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
只是将两个remote合并成了一个而已,然后再执行git push命令就会发现,会一次性向两个仓库push代码了。然后,小代同学就下班回家吃饭了。
结束语
这篇文章,主要是讲了如何同时向多个远程仓库推送代码。虽然平时使用场景不多,但是偶尔遇到了这样的需求还是很实用的。如果你喜欢我的文章,可以扫描下方二维码关注代码无止境公众号。

Git使用小技巧之多个远程仓库的更多相关文章
- git将本地项目推送到远程仓库
一.三个基本配置: Git全局设置 git config --global user.name "账户名称" git config --global user.email &quo ...
- Git的杀手级功能之 一 远程仓库
Git的杀手级功能之一:远程仓库 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上. 一.注册GitHub账号,然后和本地Git仓库来关联免费获得Git远程仓库来学校git的远程仓 ...
- git 使用详解(7)-- 远程仓库的使用
要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库.远程仓库是指 托管在网络上 的项目仓库,可能会有好多个,其中有些你 只能读,另外有些可以写.同他人协作开发某个项目时,需要管理这些远程 ...
- Git如何把本地代码推送到远程仓库
Git如何把本地代码推送到远程仓库 1. 初始化版本库 $ git init 2. 添加文件到版本库(只是添加到缓存区),.代表添加文件夹下所有文件 $ git add . 3. 把添加的文件提交到版 ...
- Git应用详解第五讲:远程仓库Github与Git图形化界面
前言 前情提要:Git应用详解第四讲:版本回退的三种方式与stash 这一节将会介绍本地仓库与远程仓库的一些简单互动以及几款常用的Git图形化界面,让你更加方便地使用git. 一.Git裸库 简单来说 ...
- 8 个 Git 的小技巧
git 已经成为了我日常必备工具之一,我总结我几乎每天使用的8个有用(且简洁)的git技巧. 使用-p选择性添加 当你想提交内容时,你可以通过使用 git commit -am 来选择所有文件或使 ...
- Git使用小技巧之免密登录
想要获取更多文章可以访问我的博客 - 代码无止境. 小代同学在使用Git的过程中发现,每次向远程仓库推送代码的时候都需要输入账号密码.做为一个程序员,多多少少都会有偷懒的思维.那么如何才能避免每次都要 ...
- Git学习笔记(4)——添加远程仓库,克隆远程库,以及库的推送
本文记录了远程库的连接和库的克隆和推送. 远程仓库简介 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上.有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且 ...
- Git实现从本地添加项目到远程仓库
Git是现在最流行的版本控制系统之一了,今天也试试了,成功了上传了远程仓库,接下来看看我是怎么做的. (ps:七牛抓取不到图片,请移步:http://blog.csdn.net/u011043843/ ...
随机推荐
- Google CFO 辞职信
Google CFO 辞职信 After nearly 7 years as CFO, I will be retiring from Google to spend more time with ...
- 利用花生壳对windows server进行远程桌面
花生壳内网穿透 http://service.oray.com/question/1824.html windows server "允许远程协助连接这台计算机" 需要在服务器管理 ...
- 数据绑定(三)为Binding指定绑定源的几种方法
原文:数据绑定(三)为Binding指定绑定源的几种方法 Binding的源是数据的来源,所以,只要一个对象包含数据并能通过属性把数据暴露出来,它就能当作Binding的源来使用,常用的办法有: 一. ...
- wpf 禁用window的systemmenu
private IntPtr WidProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled) { if (m ...
- GIS基础软件及操作(二)
原文 GIS基础软件及操作(二) 练习二.管理地理空间数据库 1.利用ArcCatalog 管理地理空间数据库 2.在ArcMap中编辑属性数据 第1步 启动 ArcCatalog 打开一个地理数据库 ...
- 关于powerdesigner中的data types说明
原文:关于powerdesigner中的data types说明 这一堆的数据类型看着真是头大,弄个表格对照一下. Numeric data types Standard datatype DBMS- ...
- Android 开发中,as或者idea对gradle的使用
原文:Android 开发中,as或者idea对gradle的使用 本文属于转载收藏,侵删,出处:私人博客 ---------------------------------------------- ...
- UILabel实现自适应宽高需要注意的地方(三)
一.需求图如下所示 UILabel 的高度自适应 UILabel中的段落间距可设置 图片效果如下: 调整段落适应长宽高方式: 需求: 保证"游戏玩法 ...
- bootstrap组件和插件
一.用node.js读取文件 //引入fs模块 var fs= require ('fs'); // console.log(fs); //调用fs模块的readFile方法 fs.readFile( ...
- SYN4201型 同步分频钟
SYN4201型 同步分频钟 产品概述 SYN4201型同步分频钟是由西安同步电子科技有限公司精心设计.自行研发生产的一款高精度分频时钟,对输入的8路10MHz正弦信号分别进行同步分频处理,相应的输出 ...