使用 git 将代码推送到多个仓库
使用 git 将代码推送到多个仓库
起因
起初,在 GitHub 建了一个仓库,200+ 的 commits 。后来(终于在眼泪中明白。。。误),在 Gitee 建了一个仓库,复制了一份代码,之后没在管 GitHub,Gitee 上又随之进行了30+ 次 commits,这是前景。最后为了省劲,要用 git 将 Gitee 的代码一次推送到两个仓库。方法如下,因为我只要 push
上去就好了,不需要分别来 pull
远端的仓库,只是我写着玩的小项目,我将 .git
文件下的 config
作了如下修改:
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = https://gitee.com/xxxx/xxx.git
fetch = +refs/heads/*:refs/remotes/origin/*
+ [remote "all"]
+ url = https://gitee.com/xxx/xxx.git
+ url = https://gitHub.com/xxx/xxx.git
[branch "master"]
remote = origin
merge = refs/heads/master
这样我只需要 git push all
就可以同时 将原来只在 Gitee
仓库的代码 push
到 GitHub
仓库了。当然了执行这个操作,代码成功 push
到 Gitee
,但要求先要 pull
GitHub
上的仓库,才能 push
上去,(pull 是不可能 pull 的,这辈子只能 push 这样子。。。),所以我选择强推,一顿操作猛如狗
git push all -f
回车一敲(大力出奇迹!),ok,办了! 打开 GitHub
,GitHub 仓库原来的所有 commits
全没了,同步为 Gitee
仓库一样的 30+ commits
!
学习一番
百度挺好。
彪悍!!!
I love my motherland!
--force
--force
适用于所有推送的 ref ,因此在push.default
设置为matching
或配置了多个推送目标的情况下使用它remote.*.push
可能会覆盖当前分支以外的其他 ref(包括严格位于其远程副本后面的本地ref)。- 常见情况,当您尝试推送时,您可能会遇到非快进拒绝,即使您将其推送到其他人都没有推送到的存储库中也是有可能的。自己推送提交 A 之后(在本节的第一张图片中),将其替换为
git commit --amend
以生成提交 B ,然后尝试将其推出,因为忘记了您已经将 A 退出了。在这种情况下,并且仅当您确定在此期间没有人提取了较早的提交 A(并开始在其上构建)时,才可以运行git push --force
来覆盖它。换句话说,git push --force
是一种保留方法,用于您确实要失去历史记录的情况。
解决办法
如果不幸遇到类似情况需要恢复,请参考这篇 文章 吧!
使用 git 将代码推送到多个仓库的更多相关文章
- Git撤回已经推送(push)至远程仓库提交(commit)的版本
背景 所以,经常会遇到已经提交远程仓库,但是又不是我想要的版本,要撤下来. 回退版本一般使用git reset,又分为: # 不删除工作空间改动代码,撤销commit,不撤销git add . git ...
- Git把本地代码推送到远程github仓库
运用Git版本控制系统进行代码的管理,以便于团队成员的协作,由于之前是使用svn来进行版本控制,所以对于Git使用还有待熟练掌握.Git与svn类似,个人认为两者之间比较直观的区别就是 Git 不需要 ...
- IDEA将代码推送至远程GitHub仓库
1 在项目根路径下添加.gitignore文件 2 创建本地git仓库 3 git add操作 快捷键 ctrl+alt+a 4 git commit操作 快捷键ctrl+k 5 git push操作 ...
- 将已有Git库代码推送到新建库中
cd /path/to/your/git/repo/ git remote -v git remote rm origin git remote add origin ssh://abc@gmail. ...
- 将本地的代码推送到公网的github账号去
将本地的代码推送到公网的github账号去 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近工作上需要用到github账号,拜读了一位叫廖雪峰的大神的文档,把git的前世今生说的 ...
- git 本地项目推送到远程服务器
3进入本地电脑的将要上传的项目的目录下面 1)git init 初始化一个git 2) vim .gitignore 新增以及编写这个文件 node_modules/ 意思就是上传的时候忽略这个文件 ...
- 将本地项目推送到远程gitee仓库(通过git命令)
只有经历过地狱般的磨砺,才能练就创造天堂的力量: 只有流过血的手指,才能弹出世间的绝响 将本地的项目推送到远程gitee仓库 本地新建的Java项目,想推送到远程gitee仓库或者git仓库,你需要两 ...
- git 创建标签推送远程分支
目录 git 创建标签推送远程分支 查看tag 创建tag 推送标签到远程仓库 删除tag git 创建标签推送远程分支 标签概念: tag, 对于迭代频繁的项目. 每一个标签可以理解为一个版本. 创 ...
- 键盘侠Linux干货| 使用SSH方式推送文件至github仓库
前言 作为一名优秀的计算机从业人员,相信大家github应该都知道吧.(优秀的代码托管工具) 但是由于平常使用的https方式克隆的本地仓库,每次git push时都需要输入帐号密码才能将我们修改的文 ...
随机推荐
- uva 624 CD (01背包)
CD You have a long drive by car ahead. You have a tape recorder, but unfortunately your best musi ...
- Python--day40--复习和回调函数实例
- P1096 4个数的全排列
题目描述 输入4个有序的个位数.按照字典序输出它们的全排列. 输入格式 输入四个数字a,b,c,d.(0<=a,b,c,d<10) 输出格式 输出它们的全排列.每个排列占一行.而且每个排列 ...
- H3C配置Header进入用户视图的提示信息--系统视图
incoming:登录终端用户界面时的提示信息. Header 3种类型 login:登录验证时的提示信息. Vty模式 ...
- Java 学习笔记(15)——反射
Java中的类文件最终会被编译为.class 文件,也就是Java字节码.这个字节码中会存储Java 类的相关信息.在JVM执行这些代码时首先根据 java 命令中指定的类名找到.class 文件然后 ...
- LabWindows/CVI基础
1.LabWindows/CVI了解 提到NI公司,大家可能最先联想到的是NI公司推出的LabVIEW软件.LabWindows/CVI与LabVIEW相比,主要应用在各种测试.控制.故障分析及信息处 ...
- Iptables-linux服务器做路由转发
https://blog.csdn.net/liang_operations/article/details/80747510 实现内部服务器C可以经过服务器B进行上网. 3.1服务器双网卡,一块配置 ...
- 【原创】(十四)Linux内存管理之page fault处理
背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本: ...
- 基于jquery的带事件显示功能的日历板插件calendar.js
项目中需要用到一个日历板控件,要求能显示事件,于是想到了一年前在app项目上写的一个粗略版日历板,然后又想着这个可能以后还会用 于是我就封装了一下,能满足基本要求,如果有需要更多功能的也可以自行修改源 ...
- hdu3499---玄学的分层图
枚举固然可以,但是我还是想看看分层图.... 如本题所述 ,从上图到下图就是一个折扣的过程,上部分只有一种办法下去,下部分图没有办法去上面,该模型十分的巧妙啊!!! 下面我来演示一下自己改的样例吧 紫 ...