Как изменить сообщения git -commit с помощью jenkins? - PullRequest
0 голосов
/ 14 мая 2019

Я использую сервер Jenkins для проверки сборки и слияния на master. Теперь я хочу реализовать его так, чтобы он модифицировал сообщения коммита с помощью пользовательской строки. Конкретный пример: допустим, я сделал 3 коммита на ветке;

commit #3
commit #2
commit #1

Я хочу изменить эти сообщения, чтобы они выглядели как

ISSUE-XX commit #3
ISSUE-XX commit #2
ISSUE-XX commit #1

где XX будет завершен пользователем, запустившим сборку jenkins. Есть какой-либо способ сделать это? Пока мне не удалось найти ответ в Интернете.

Я уже думал о реализации git-hooks, но это не совсем то, что я хочу, и я также думал об автоматическом перебазировании, но я не совсем понимаю.

1 Ответ

0 голосов
/ 22 мая 2019

Решено с помощью сквоша, используя скрипт ниже. Решение объединяет последний (NUMBER_OF_COMMITS) в один, заданный в качестве параметра сборки, и устанавливает настраиваемое сообщение фиксации, также заданное в качестве параметра сборки.

    ::Rebasing to modify commit messages

    :: Reset the current branch to the commit just before the last 12:
    git reset --hard HEAD~%NUMBER_OF_COMMITS%

    :: HEAD@{1} is where the branch was just before the previous command.
    :: This command sets the state of the index to be as it would just
    :: after a merge from that commit:
    git merge --squash HEAD@{1}

    :: Commit those squashed changes.
    git commit -m "%ISSUE%"
...