将项目同时 push 到 github 、git.oschina 或 gitlab 的方法

Git

有时候我们可能需要将一个项目同时 push 到不同的远程仓库,有的人可能会想到每次改动都分别 push 到不同的远程仓库,但是这种方法十分的重复而又低效,非常之蛋疼,如何才能一次同时 push 到不同远程仓库呢,下面就给出方法。


大家应该都知道 git.oschina 有这样一个功能。

如图:

从 github 导入

这个功能可以直接将 github 的项目直接导入 git.oschina ,这样你的项目就同时存到了 githubgit.oschina ,十分的方便,所以这时候就非常的需要将本地代码同时 push 到这两个远程仓库,否则管理会非常的麻烦。

同时 push 到多个远程仓库

  • 先将需要 push 的代码 clone 到本地,我 clonegithub 仓库地址:
git@github.com:Jonzzs/SimpleNote.git
  • 我需要将这份代码同时 pushgithubgit.oschina 的仓库,下面是地址:
git@github.com:Jonzzs/SimpleNote.git
  
git@git.oschina.net:Jonzzs/SimpleNote.git 
  • 用文本编辑器打开本地项目下 .git 文件夹中的 config 文件:
打开 config 文件
  • 这个文件夹在你项目下默认是隐藏的,你可以显示隐藏文件后用 Finder 打开 config 文件,或者使用终端命令来修改 config 文件,具体怎么做我这里就不说了。

  • 我这里是直接使用 Source Tree 这个工具来修改 config 文件,打开项目后选择 设置 - 远程仓库 - 编辑配置文件... 就能直接打开 config 文件了。

Source Tree
  • 编辑 config 文件,修改 [remote "origin"] 下面的内容:
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
[remote "origin"] // 修改此处
    url = git@git.oschina.net:Jonzzs/SimpleNote.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master

如图:

`config` 文件
  • [remote "origin"] 的最后,添加 pushurl 来同时 push 到多个远程仓库:
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
[remote "origin"] // 添加 pushurl 来同时 push 到多个远程仓库
    url = git@git.oschina.net:Jonzzs/SimpleNote.git
    fetch = +refs/heads/*:refs/remotes/origin/*
    pushurl = git@git.oschina.net:Jonzzs/SimpleNote.git
    pushurl = git@github.com:Jonzzs/SimpleNote.git
[branch "master"]
    remote = origin
    merge = refs/heads/master

如图:

添加 pushurl
  • 编辑完后 command + s 保存一下,大功告成,接着你使用 git push 就会同时 push 到这两个远程仓库,快测试一下吧。

注意: 上面的 url 默认是你 clone 下来的地址不用管它,下面的 pushurl 默认最下面的地址是你执行 git pull 时的地址,所以你 git pull 想从哪个地址拉取,就写在最下面。 pushurl 可填写多个,你想要同时 push 几个远程仓库就填几个。另外远程仓库的名字可以不一样,但是 Branch 分支,两个仓库必须一样。


方法就是这样,网上可能还有其他的方法,想了解的自行去搜索吧,这个方法还是比较简单的。

将来的你,一定会感激现在拼命的自己,愿自己与读者的开发之路无限美好。

我的传送门: 博客简书微博GitHub

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 8,648评论 1 26
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 每次打开淘宝收藏夹都想把自己给剁了,可是毕竟都是自己一家一家搜来的,浪费了多少精(liu)力(liang)啊,删掉...
    呆兮阅读 851评论 0 4
  • 美国知见心理学恰克博士对生命看法的语录 心理学美国博士 2016-09-25 20:08 一、活出你的天命 197...
    我和榕树阅读 959评论 0 2
  • 昨天晚上听到了古典老师的线上直播《个体崛起时代,如何快速的自我增值》。其中有几点让我印象深刻: 碎片化时代的学习:...
    寒江雪霏阅读 199评论 0 0