最近在做公司项目,之前公司项目统一托管在codding 码云,最近我想把项目与自己的gitlab私人仓库再连接一下,作为自己作品收录的地方,这里总结一下用到的git命令及问题。
1、首先, 找到当前已绑定码云的项目的.git中的config配置文件,
可以看到有一个远程仓库 remote 名叫origin,最快最方便的方法:
[remote "gitlab"] url = [email protected]: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 ‘[email protected]: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记录了,大功告成。
时间: 2024-10-11 11:20:54