git绑定两个远程仓库
时间:2022-05-10
本文章向大家介绍git绑定两个远程仓库,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
最近在做公司项目,之前公司项目统一托管在codding 码云,最近我想把项目与自己的gitlab私人仓库再连接一下,作为自己作品收录的地方,这里总结一下用到的git命令及问题。
1、首先, 找到当前已绑定码云的项目的.git中的config配置文件,
可以看到有一个远程仓库 remote 名叫origin,最快最方便的方法:
[remote "gitlab"]
url = git@gitlab.com:xxxxx/xxxxx.git
fetch = +refs/heads/*:refs/remotes/origin/*
把这个remoter再复制一份下来,remote远程仓库的名称起为自己需要的名称
2、然后在项目中:
git remote
git remote -v
可以查看当前绑定的远程仓库的名称以及具体git地址
3、由于自己的私人仓库已经有一个之前创建好的,要把里面没用的文件删除,否则会报如下错误:
git: updates were rejected because the remote contains work that you do not have locally
git查看、删除远程仓库文件:
git查看远程分支
$ git branch -a
git删除远程分支
$ git push gitlab --delete <branchName>
如果删除tag
$ git push origin --delete tag <tagname>
这里参考自:https://blog.zengrong.net/post/1746.html
4、这里首先要把两个远程仓库都拉取一下
git pull --all
但是这里之前绑定的仓库可以成功拉取,新绑定的仓库报错:
To gitlab.com:xxx/xxx-wap.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@gitlab.com:beileixinqing/zhongwentoutiao-wap.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
大概意思就是说需要与远程仓库合并并拉取,
这里单独拉取该远程仓库报错:
fatal: refusing to merge unrelated histories
所以这里合并:
git pull gitlab master --allow-unrelated-histories
最后推送到gitlab
git push gitlab
最后gitlab也可以显示所有commit记录了,大功告成。
git remote命令理解:
可以通过-all一次提交多个仓库
配置远程仓库
git remote add origin https://url
再添加一个远程仓库
git remote set-url --add origin https://url
注意这里多次添加需要用
git remote set-url --add
不然会报错:
fatal: remote origin already exists.
或者改名
git remote add otherOrigin https://url
一次提交到所有远程仓库
git push --all
注意
git pull 是 git pull (from) origin (to) master
git push 是 git push (to) origin (from) master
git remote -v git查看远程仓库
- [认证授权] 3.基于OAuth2的认证(译)
- [Asp.Net Core] 1. IIS中的 Asp.Net Core 和 dotnet watch
- kafka数据迁移实践
- HDFS 2.x 磁盘间数据均衡的一种可行办法
- Batik渲染png图片异常的bug修复全程记录
- Web应用服务器安全:攻击、防护与检测
- 基于Go Packet实现网络数据包的捕获与分析
- 动态追踪技术(四):基于 Linux bcc/BPF 实现 Go 程序动态追踪
- Hive 时间转换函数使用心得
- Flume-Hbase-Sink针对不同版本flume与HBase的适配研究与经验总结
- 利用Flume 汇入数据到HBase:Flume-hbase-sink 使用方法详解
- 浅谈保证软件工程质量的一些心得体会
- 基于ELK的nginx-qps监控解决方案
- 2017年年度最烂密码排名
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Hibernate的入门(Hibernate的环境搭建、Hibernate的API)
- pytest 测试框架学习(9):pytest.main
- 深入了解ActiveMQ!
- 完美解决 python ImportError: Failed to import any qt binding
- 爬取娱乐圈排行榜数据
- 如何解决Linux系统下pyaudio安装缺少文件问题error: portaudio.h: 没有那个文件或目录
- pytest 测试框架学习(10):pytest.param
- pytest 测试框架学习(11):pytest.raises
- Hibernate第二天:Hibernate的一级缓存、其他的API
- pytest 测试框架学习(12):pytest.deprecated_call
- Pinstaller(Python打包为exe文件
- pytest 测试框架学习(14):pytest.warns
- ImportError: /lib64/libm.so.6: version `CXXAB_1.3.8.' not found (required by /usr/local/python37/lib
- pytest 测试框架学习(15):pytest.freeze_includes
- Linux: scp文件,目录上传下载标准版