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