zoukankan      html  css  js  c++  java
  • 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查看远程仓库
  • 相关阅读:
    CentOS 7中为Yum设置代理
    在 .NET Core项目中使用UEditor图片、文件上传服务
    Android开发:通过 webview 将网页打包成安卓应用
    ElasticSearch:组合查询或复合查询
    ElasticSearch:常用的基础查询与过滤器
    SpringBoot:Java High Level REST Client 搜索 API
    SpingBoot:整合Elasticsearch7.2.0
    Linux:oracle11.2.0dbca静默建库
    Docker:跨主机通信
    Mysql无法启动情况下,如何恢复数据?
  • 原文地址:https://www.cnblogs.com/beileixinqing/p/7493302.html
Copyright © 2011-2022 走看看