Точно связан с этим вопросом, который я задал вчера , но с новой информацией о том, как автоматизация я пытаюсь вызвать функции.
Я пытаюсь нажатьветвь как 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
ответвьте от него, используя флаг --orphan
, который @ congbaoguier указал мне на
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
Поскольку я изменил своего пользователя перед удалением ветки с удаленного компьютера, удалением ветки из локальной сети, извлечением, ветвлением, и делает коммит, я не уверен, почему Гитлаб все еще думает, что Robot User
отвечает за толчок ветви.