ybaidukuai 发表于 2018-1-12 12:37:00

git绑定两个远程仓库

  最近在做公司项目,之前公司项目统一托管在codding 码云,最近我想把项目与自己的gitlab私人仓库再连接一下,作为自己作品收录的地方,这里总结一下用到的git命令及问题。
  1、首先, 找到当前已绑定码云的项目的.git中的config配置文件,

  可以看到有一个远程仓库 remote 名叫origin,最快最方便的方法:
  

  
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!       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查看远程仓库
  
页: [1]
查看完整版本: git绑定两个远程仓库