Gitlab中代码仓库迁移出现remote rejected Pre-receive hook declined错误的解决方法(main和master分支)含大文件迁移

1、克隆现有的GitLab仓库(http://XXXXX/cc.git)到本地,包括所有分支和标签

      git clone --bare http://XXXX/cc.git

      cd cc.git/

      git lfs fetch --all    # 拉取大文件,执行一下,防止有大文件上传到git上面

2、到新的gitlab上面创建一个新的仓库,记录其git地址,比如为http://YYYYY/aa.git

      cd cc.git/

      git lfs push --all    http://YYYYY/aa.git   #上传大文件

      git push -f --mirror http://YYYYY/aa.git

这时候可能会出现下面的提示 remote rejected  Pre-receive hook declined

解决这个问题,在设置->仓库->允许强制推送勾选后,再执行git push –f命令

可是我再次尝试提交时,还是无法提交。仔细看提示信息,有一行:

Remote:Gitlab:The default branch of a project cannot be deleted.

原因分析:新的代码仓库中创建的新仓库的主分支是main,而导出的仓库中主分支是master,所以导致在导入仓库时,会产生删除main分支的操作,而main分支不允许被删除(即使关掉了分支保护)。

解决方法:在导出仓库之前,先在原来仓库中创建一个main分支,然后再导出即可。

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
当你在使用Eclipse提交代码到远程仓库时,如果你遇到了"remote rejected pre-receive hook declined"的报错信息,这通常是因为远程仓库上设置了一个pre-receive钩子(hook),并且该钩子在接收你提交的代码之前执行了某些检查,并且这些检查未通过导致了拒绝提交。 要解决这个问题,你可以尝试以下几个步骤: 1. 首先,你可以查看你的本地代码是否有任何问题。确保你的代码没有语法错误、编译错误或其他格式问题。你可以使用Eclipse的内置工具来检查和修复这些问题。 2. 接下来,你可以尝试将本地代码与远程仓库同步。可以使用git pull命令从远程仓库拉取最新的代码,并确保你的本地分支是最新的。 3. 如果你确定你的代码没有问题,并且你的本地分支是最新的,但仍然无法提交到远程仓库,那么可能是远程仓库上的pre-receive钩子限制了你的提交。在这种情况下,你可以尝试解除远程仓库上pre-receive钩子的限制。 4. 如果你没有权限或者不想修改远程仓库上的pre-receive钩子,你可以尝试创建一个新的分支,将你的代码提交到新分支上,然后将新分支合并到develop分支上。这样可以绕过pre-receive钩子的限制。 总结一下,当你遇到"remote rejected pre-receive hook declined"的错误时,可以尝试以下步骤:检查本地代码是否有问题,确保本地分支是最新的,解除远程仓库上的pre-receive钩子限制,或者创建新的分支提交代码并合并到目标分支上。希望这些步骤能帮助你解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

扬子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值