Как получить все сообщения о коммитах, которые были затронуты за последние pu sh в git? - PullRequest
0 голосов
/ 31 января 2020

Я просто пытаюсь создать хук git, который отправляет уведомление о всех коммитах на наш канал ms-team на каждом "пост-получении".

Хук git сам по себе работает, но с помощью команды git log -1 --pretty=format:'%s'
я получаю только последнее сообщение о коммите, что не очень полезно, если вы делаете sh несколько коммитов для мастера.

Есть ли способ получить данные ( сообщение, автор, дата фиксации, номер коммита, usw.) всех затронутых коммитов на каждом пу sh?

Я посмотрел много вопросов здесь о переполнении стека, но не нашел правильного решения для моей проблемы.

1 Ответ

1 голос
/ 31 января 2020

Как правило, ваш origin/master будет позицией master на пульте origin после вашей последней синхронизации. master будет вашей текущей веткой. Коммиты между ними будут теми, которые вас интересуют, и вы можете получить их, используя git log origin/master..origin, и вы можете делать с ними все, что захотите.

Теперь, в вашем случае, вам нужно запустить это на сервере после получения. Я не уверен, что post-receive будет иметь эту информацию (так как ссылки уже будут обновлены). Однако pre-receive ловушка получает список всех коммитов, которые выдвигаются. Возможно, подключение к функции уведомлений поможет лучше. ответ , связанный с Комментарий Лассе В. Карлсена содержит подробную информацию о том, как это сделать.

...