我想 checkout 到合并请求管道中的dev
分支,该管道是为与其他分支合并到dev
而打开的。我将检查此作业中的某些内容,然后根据此作业的成功与否继续其他一些作业。是否可以执行此操作,或者我必须始终使用管道触发的分支?
添加gitlab配置的相关部分
variables:
GIT_STRATEGY: clone
checksomething:
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "dev"
- if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
when: never
- if: $CI_COMMIT_BRANCH
environment:
name: development
before_script:
- git checkout dev
script:
- !reference [.check-something-on-dev]
但我有这个错误:
$ git checkout dev
error: pathspec 'dev' did not match any file(s) known to git```
1条答案
按热度按时间zfycwa2u1#
首先尝试一个
git branch -avv
,看看通过GitLab-CI作业完成的原始克隆/检出有哪些分支可用。根据所使用的refspec,克隆的仓库可能不会引用任何
origin/dev
分支,从而阻止git checkout
(或者,就此而言,git switch
,checkout
的更现代的替代品)的猜测模式工作。