1

我按照下面的文章将 gitlab 存储库代码推送到谷歌云源存储库,但我收到此命令错误

git push -f google master

error: src refspec master does not match any.
error: failed to push some refs to 'https://source.developers.google.com/p/project/r/test/'

文章如下: https ://medium.com/@bamnet/cloud-source-repositories-gitlab-2fdcf1a8e50c

有什么,我做错了吗?关于如何避免此错误消息的任何想法?在此处输入图像描述

4

1 回答 1

1
src refspec master does not match any

问题是您关注的文章的日期:2018 年 8 月。
从那时起 GitLab Runner 发生了变化,更准确地说是 2019 年 5 月。

该问题在2019 年 5 月的此线程中进行了描述:

由于我们使用 refspec 来克隆/获取存储库,因此我们签出特定的提交而不是签出特定的分支。
当脚本执行git push master时,找不到分支,因此 git 不知道要推送什么。

那是因为,在 GitLab 方面,MR 1203

基本上,GitLab CE/EE 向 GitLab Runner 发送 refspecs 参数gitlab-org/gitlab-foss app/presenters/ci/build_runner_presenter.rb:此参数用于 GitLab Runners 从远程存储库中获取分支/标签引用。

之所以引入此更改,是因为我们希望 GitLab Rails 端利用 respecs 来解决问题 7380“组合 ref 管道(源+目标分支)”git clone $URL ,但or之间不应该有很大的区别mkdir $REPO_DIR && git remote add origin $URL && git fetch +refs/heads/branch_name:refs/remotes/origin/branch_name
事实上,新的行为已经在我们的开发项目 https://gitlab.com/gitlab-org/gitlab-ce/pipelines上运行,到目前为止没有任何问题。

问题 4097在当时被打开

解决方法

当您想将其推送到另一个遥控器时,请使用 HEAD。

deploy:
  stage: deploy
  script:
  - git remote add heroku https://heroku:$HEROKU_API_KEY@git.heroku.com/<project>.git
  - git push -f heroku HEAD:master

所以不要推master。推头。

OP Adam使用另一种解决方法并添加:

before_script: 
  - git checkout master 
于 2020-08-29T16:17:30.153 回答