专栏首页walterlv - 吕毅的博客使用一句 git 命令将仓库的改动推送到所有的远端

使用一句 git 命令将仓库的改动推送到所有的远端

git 支持一个本地仓库包含多个远端(remote),这对于开源社区来说是一个很重要的功能,可以实时获取到最新的开源代码且能推送到自己的仓库中提交 pull request。

有时候多个远端都是自己的,典型的就是 GitHub Pages 服务了,推送总是希望这几个远端能够始终和本地仓库保持一致。本文将介绍一个命令推送到所有远端的方法。


我的博客同时发布在 GitHub 仓库 https://github.com/walterlv/walterlv.github.io 和 Gitee 仓库 http://gitee.com/walterlv/walterlv。由于这两个远端的 Pages 服务没有打通,所以我总是需要同时将博客推送到两个不同的远端中。

第一步:设置多个远端(remote)

使用你平常使用的方法添加多个 git 远端。

例如:

git remote add github https://github.com/walterlv/walterlv.github.io.git --no-tags

需要注意,对于不是 origin 的远端,建议不要拉取 tags,所以我加了 --no-tags 选项。

我添加了两个新的远端(github 和 gitee)之后,打开你仓库 .git 文件夹中的 config 文件,应该可以看到如下的内容:

[remote "origin"]
	url = https://github.com/walterlv/walterlv.github.io.git
	fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
	remote = origin
	merge = refs/heads/master
[remote "github"]
	url = https://github.com/walterlv/walterlv.github.io.git
	fetch = +refs/heads/*:refs/remotes/github/*
	tagopt = --no-tags
[remote "gitee"]
	url = https://gitee.com/walterlv/walterlv.git
	fetch = +refs/heads/*:refs/remotes/gitee/*
	tagopt = --no-tags

第二步:添加一个名为 all 的新远端

现在,我们要添加一个名为 all 的新远端,并且在里面添加两个 url。由于这个步骤没有 git 命令行的帮助,所以你需要手工修改 config 文件中的内容。

[remote "all"]
	url = https://github.com/walterlv/walterlv.github.io.git
	url = https://gitee.com/walterlv/walterlv.git
	tagopt = --no-tags

如果你有更多需要同步的远端,那么就在里面添加更多的 url。

开始使用一个命令同步所有的仓库

现在,你可以使用一句命令将本地的修改推送到所有的远端了。

git push all

我现在自己的博客仓库就是这样的推送方式。于是你可以在以下多个地址打开阅读我的博客:

本文会经常更新,请阅读原文: https://blog.walterlv.com/post/git-

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 (walter.lv@qq.com)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 使用 Frp 为你的 Web 服务添加 https 支持

    在众多反向代理应用中,frp 的最大特点就在于内网穿透。所以,如果你有将内网对外提供 Web 服务的需求,就可以考虑使用 frp 为你的 Web 服务提供 ht...

    walterlv
  • git subtree 的使用

    这样,B 仓库的整体,会被作为 A 仓库中一个 SubFolder/B 的子文件夹,同时保留 B 仓库中的整个日志记录。

    walterlv
  • Git 更安全的强制推送,--force-with-lease

    发布于 2018-05-07 11:16 更新于 2018-09...

    walterlv
  • c# 判断文件是否发生了变化

    zls365
  • 利用WordPress作为后端快速生成多端小程序和APP

    WordPress 作为后端生成多端小程序、快应用及APP,可用于资讯、新闻、博客、企业官网等

    贰先生
  • 美团旅行销售绩效系统研发实践

    背景 O2O是目前互联网竞争最激烈的领域之一,其重要的业务特征是有大规模的线下业务团队,他们分布在五湖四海,直接服务着数以百万的商家,责任很重,管理的难度巨大。...

    美团技术团队
  • use SAP web IDE to commit change to git

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    Jerry Wang
  • 【Rust日报】2020-05-19 Gamedev #4: 全栈Rust编程的好处

    这是一个多数值json objects检索器。这个软件包可以创建基于点路径(dot path)的json objects的排序表, 这个有点类似mongodb那...

    MikeLoveRust
  • 【博客园装修】博客css美化仿B站

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接和本声明。 ...

    韩旭051
  • 今儿一个早起,艿艿整理了一波百度开源的 Java 项目,哎哟有点东西...

    点了一套煎饼果子,看到《百度开源的 71 款项目》文章,于是乎去百度的 https://github.com/baidu 愁一愁有哪些和 Java 相关的,还是...

    芋道源码

扫码关注云+社区

领取腾讯云代金券