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/ ...
随机推荐
- 仿真算法数据结构与算法 C++实现
模拟算法:仿真的全过程,通过改变数学模型参数,进一步观察状态更改这些参数发生变化正当程序. 算法思路:利用随机函数来模拟不可预测发生在自然界.(srand() 和 rand()函数生成一个随机数) 模 ...
- linq to entity DistinctBy && DefaultIfEmpty
根据某属性去重 使用第三方库: https://github.com/morelinq/MoreLINQ Install-Package morelinq -Version 3.0.0 data.Di ...
- IOS开发之把 Array 和 Dictionaries 序列化成 JSON 对象
1 前言通过 NSJSONSerialization 这个类的 dataWithJSONObject:options:error:方法来实现,Array 和 dictionary 序列化成 JSON ...
- 【wpf】在win10系统上弹出toast和notification
原文:[wpf]在win10系统上弹出toast和notification 老规矩,先看效果 右下角的notification: 操作中心的notification: 整体效果: 前提条件 1.需要在 ...
- Rxjava 学习(一)
Rxjava是什么? RxJava是由Netflix开发的响应式扩展(Reactive Extensions)的Java实现.引用MSDN上对它的定义,Reactive Extensions是这样一个 ...
- #467 – 使用UniformGrid 均分行和列(Use a UniformGrid for Evenly Spaced Rows and Columns)
原文 #467 – 使用UniformGrid 均分行和列(Use a UniformGrid for Evenly Spaced Rows and Columns) UniformGrid 布局面板 ...
- Oracle VM VirtualBox ubuntu 共享文件设置
1.创建共享文件 2.在本机上选择共享文件路径,虚拟机设置共享文件名称,注意这里不能选择自动挂载 3. 虚拟机新建文件夹挂载共享文件 sudo mkdir /mnt/sharedsudo mount ...
- SqlServer 复制中将大事务分成小事务分发
原文:SqlServer 复制中将大事务分成小事务分发 在sql server 复制中,当在发布数据库执行1个大事务时,如一次性操作 十万或百万以上的数据.当操作数据在发布数据库执行完成后 ,日志读取 ...
- Java 线程池(一):开篇及Executor整体框架介绍
一.开篇 线程池.数据库连接池,在平时的学习中总能接触到这两个词,但它们到底是什么?和线程,数据库连接有什么关系?为什么需要“池”?“池”的概念及作用是什么?要弄清楚这些问题,就要深入到“池”的实现中 ...
- AndroidStudio下的依赖管理
在开发中用第三方库是很常见的事,如何在AndroidStudio下管理这些依赖呢?这就是这篇文章的目的. 目录 Maven/Ivy仓库依赖 Module依赖 aar文件依赖 jar文件依赖 例子完整代 ...