当我单击Start merge train合并请求 (MR) 时,GitLab 会将以下内容添加到 MR 的系统注释中:
@sferencik 刚刚启动了合并列车
伟大的。然而,几秒钟后,以下内容被添加到系统注释中:
@sferencik 从合并队列中删除了此合并请求,因为此管道没有阶段/作业。现在
[强调我的]
管道列表没有新条目:合并列车甚至还没有启动。
GitLab 文档涉及到这一点。这个 GitLab 问题也讨论了这个问题,尽管是在不同的上下文中。
我究竟做错了什么?我已经把自己的能力削减.gitlab-ci.yml到最低限度,只留下一个阶段、一份工作,而且是无条件的。我不明白为什么 GitLab 在执行了推测性合并后,应该创建一个“没有阶段/作业”的管道。
这不是构建问题:当我单击 时Start merge train,管道已在我的功能分支(我想要合并的分支)上成功。
另外,如果我关闭合并结果的管道,我的 MR 会有一个Merge按钮,并且Start merge train它工作得很好。
当我们从 GitLab 12.0 升级到 12.1 时,这种情况就开始发生。
你将如何实现执行外部命令的git别名,并从bash和Powershell开始工作?
我目前gitPrune为bash(在我的.bash_profile)和Powershell(在profile.ps1)中设置了一个别名,它可以清理不再需要的分支:
# bash
alias gitPrune="git remote prune origin; git branch --merged | grep -vEe '^\*| master$' | sed 's/.*/git branch -dv \0/e'"
# Powershell
function gitPrune { git remote prune origin; git branch --merged | Select-String -NotMatch '^\*| master$' | %{git branch -dv $_.ToString().Trim()} }
Run Code Online (Sandbox Code Playgroud)
这样,我可以gitPrune从git-bash(在Windows上)和从Powershell中获取.现在我想把它移到我的.gitconfig手中,与其他与git相关的别名保持一致.但是,.gitconfig无论是否打开Powershell控制台或git-bash终端,都将使用相同的方法.如何使用git-config"external command"语法实现这个"双"命令?
[alias]
myPrune = "! ..."
Run Code Online (Sandbox Code Playgroud)