与this question I asked yesterday密切相关,但是从高处获得了有关我尝试如何触发功能的自动化方面的新信息。
我试图将分支推送为Joe Programmer <jp@company.com>
,其中分支遵循某种命名格式。为了简洁起见,我们将其称为example-branch
。我们的常规自动化操作会克隆存储库,执行一些工作,然后以Robot User <robot@company.com>
的形式回退。效果很好,但是下游自动化使用项目的活动日志中的信息来确定谁负责新的example-branch
,如果我想成为Joe Programmer
(并且我愿意),我需要将活动日志读取为:
Joe Programmer pushed new branch example-branch
作为我们流程的最后一步,我使用以下方式更改用户:
git config --local user.name "Joe Programmer"
git config --local user.email "jp@company.com"
然后使用以下命令删除分支(如果存在):
git push origin --delete refs/heads/example-branch
git branch -D example-branch
从我的已知有效提交中检出(这是在Robot User
对仓库进行的工作之后),
git checkout good_commit
使用@congbaoguier指向我的--orphan
标志来进行分支
git checkout --orphan example-branch good_commit
然后进行空提交以启动自动化并推向原点
git commit -m "triggering automation" --allow-empty
git push origin example-branch
但是我在Gitlab的活动日志中看到的是:
# ed: newest events come first in this log
Robot User pushed new branch example-branch
Robot User deleted branch example-branch
由于我已经更改了用户,然后才从远程删除分支,从本地删除分支,检出,分支,和进行提交,所以我不确定为什么Gitlab仍然认为Robot User
负责分支推送。