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查看远程仓库

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏别先生

JSP连接mysql数据库的重点

1:用mysql驱动把mysql与tomcat的连接起来。把mysql驱动包(不用解压)放到Tomcat安装目录中lib文件夹下即可。 ? 2:然后在自己的新...

3068
来自专栏黑泽君的专栏

【MyEclipse】我们导入的jar包后, 一般没有关联源码, 需要手动进行关联!推荐这种方式。

985
来自专栏地方网络工作室的专栏

CentOS 7 配置 Nginx + php + mysql 搭建 lnmp 环境过程全纪录

CentOS 7 配置 Nginx + php + mysql 搭建 lnmp 环境过程全纪录 昨天搞了一个美国的便宜 VPS 给朋友搭建一个简单的 php+m...

1.7K9
来自专栏程序员互动联盟

玩转linux只需要几个命令

linux一说都是搞开发玩的,敲敲键盘就能完成所有的工作。其实你也可以这么玩,玩游戏的除外哦。 那我们就来侃侃如何玩,linux是命令的天下,高级的命令那是相...

3719
来自专栏小樱的经验随笔

Linux目录结构

Linux 目录结构 装完Linux,首先需要弄清Linux 标准目录结构 ? / root —?启动Linux时使用的一些核心文件。如操作系统内核、引导程序G...

4026
来自专栏区块链

Web安全常见漏洞修复建议

看各大发布漏洞的平台,发现众多挖洞大神精彩的漏洞发掘过程,但在修复建议或者修复方案处,给出千奇百怪神一般的回复,故而总结一下修复建议(才疏学浅不算太全敬请谅解,...

2846
来自专栏北京马哥教育

Nginx专题: upstream模块和缓存的简单使用

前言 本文接着上篇Nginx专题: 从编译安装到URL重写来介绍Nginx的负载均衡模块使用方法, 本文的实验没有考虑大多数情况, 例如两个web服务器之间的数...

3167
来自专栏陈树义

MySQL用户管理:添加用户、授权、删除用户

添加用户 以root用户登录数据库,运行以下命令: create user zhangsan identified by 'zhangsan'; 上面的命令创...

4545
来自专栏IT杂记

Windows下jps, jconsole无法查看本地java进程问题解决

先通过本地java代码运行: System.out.println(System.getProperties()); 查看属性java.io.tmpdir=C:...

2936
来自专栏Lambda

Ubuntu下SVN安装和配置

Ubuntu下SVN安装和配置 一、SVN安装 1.安装包 1.$ sudo apt-get install subversion 2.创建项目目...

2847

扫码关注云+社区

领取腾讯云代金券