最近在做公司项目,之前公司项目统一托管在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查看远程仓库

git绑定两个远程仓库的更多相关文章

  1. git本地项目关联远程仓库

    应用场景: 当你在开发一个项目的时候,不想只在本地存储,想用git来管理代码时候的. 1.在你的项目根目录打开git命令窗口,通过 git init 命令把这个目录变成Git可以管理的仓库: git ...

  2. Git全解析之远程仓库交互

    文章目录 1. Git全解析之远程仓库交互 1.1. 中央仓库的概念 1.2. 本地分支与远程分支 1.3. pull与fetch 1.4. 关于捐赠 Git全解析之远程仓库交互 中央仓库的概念 虽然 ...

  3. git clone了整个远程仓库分支

    git之远程标签下载(远程分支) 一般我们发布一个新版本到线上服务器时都会在版本库中打一个标签,这样我们可以随时查看这个打标签的版本,就是说标签其实是版本库中一个快照.git的标签与分支类似,区别是分 ...

  4. 【Git】五、远程仓库

    前面4节将的都是本地的git操作,这节开始讲合并到本地分支后,如何与远程仓库做交互 -------------------------------- 提要 //生成本地ssh密钥 $ ssh-keyg ...

  5. git 操作 :从远程仓库gitLab上拉取指定分支到本地仓库;git如何利用分支进行多人开发 ;多人合作代码提交实践

    例如:将gitLab 上的dev分支拉取到本地 git checkout -b dev origin/dev 在本地创建分支dev并切换到该分支 git pull origin dev 就可以把git ...

  6. git在本地向远程仓库创建分支

    在本地的仓库种,如果想给upstream创建新分支并关联,需要执行 git push -u/--set-upstream 远程仓库名 远程分支名

  7. git查看添加删除远程仓库

    查看远程仓库 git remote -v 删除远程仓库 git remote remove origin 添加远程仓库 git remote add origin 仓库地址 关联远程分支 重新关联远程 ...

  8. 【Eclipse中使用Git之一】把远程仓库的项目,clone到eclipse里面

    [Eclipse中使用Git之一]把远程仓库的项目,clone到eclipse里面 2015-01-29 19:25 15779人阅读 评论(1) 收藏 举报 .embody{ padding:10p ...

  9. 本地项目git初始化并提交远程仓库

    1.先在远程仓库(如github)创建项目,为了避免错误,不要初始化 README, license, 或者gitignore文件 . 2.打开Terminal终端 3.切换到你的本地项目目录 4.初 ...

随机推荐

  1. 加快Terminal的打开加载速度

    加快Terminal的打开加载速度html, body {overflow-x: initial !important;}.CodeMirror { height: auto; } .CodeMirr ...

  2. 【Java】使用pinyin4j获取汉字的全拼或首字母

    汉字转拼音的工具类,常用于做汉字拼音的模糊查询. https://www.cnblogs.com/htyj/p/7891918.html

  3. mongo源码学习(一)

    在git上把mongo的源码给拉下来了,然后目录大概是这样的: 这个mongo是用C++写的,编译并没有用Makefile而是用的scons工具,这个好像是python写的. mongo后台进程的入口 ...

  4. (DNS)dnsmasq部署DNS

    转自:https://www.hi-linux.com/posts/30947.html Dnsmasq提供DNS缓存和DHCP服务.Tftp服务功能.作为域名解析服务器(DNS),Dnsmasq可以 ...

  5. 线程的几种状态转换<转>

    线程在一定条件下,状态会发生变化.线程一共有以下几种状态: 1.新建状态(New):新创建了一个线程对象. 2.就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法. ...

  6. rfid 125khz

    环境是STVD V4.1.6, 编译器是COSMIC STM8 C Compiler 16K ,Version: 4.3.1 调用的库有:GPIO,TIM2 相关宏定义: //RF数据引脚 #defi ...

  7. Flutter 1.0 正式版: Google 的便携 UI 工具包

    Flutter 1.0 正式版: Google 的便携 UI 工具包 文 / Tim Sneath,Google Dart & Flutter 产品组产品经理 Flutter 是 Google ...

  8. sublime 之 vitage/emmet

    ctrl+shift+p 打开Package Controlctrl+shift+t 恢复已关闭标签ctrl+/ 代码注释/取消注释 --------------------------------- ...

  9. PHP 打乱数组

    $arr = array( array( "id"=>1, "name"=>"张三", "sex"=> ...

  10. windows 下安装 redis

    Redis 是一个高性能的key-value数据库, 使用内存作为主存储,数据访问速度非常快,当然它也提供了两种机制支持数据持久化存储.比较遗憾的是,Redis项目不直接支持Windows,Windo ...