#git
#git
Вопрос:
Если у меня есть репозиторий git с тегами, представляющими версии релизов.
Как я могу получить список коммитов между двумя тегами (с красивым форматом, если это возможно)?
Ответ №1:
git log --pretty=oneline tagA...tagB
(т.е. три точки)
Если вы просто хотели, чтобы коммиты были доступны из tagB, но не из tagA:
git log --pretty=oneline tagA..tagB
(т.е. две точки)
или
git log --pretty=oneline ^tagA tagB
Ответ №2:
Для сравнения последней фиксации текущей ветви и тега:
git log --pretty=oneline HEAD...tag
Ответ №3:
git log
принимает диапазон коммитов в качестве аргумента:
git log --pretty=[your_choice] tag1..tag2
Смотрите справочную страницу для git rev-parse
получения дополнительной информации.
Ответ №4:
Чтобы оформить выходные данные в предпочитаемый вами красивый формат, смотрите справочную страницу для git-log
.
Пример:
git log --pretty=format:"%h; author: %cn; date: %ci; subject:%s" tagA...tagB
Ответ №5:
К вашему СВЕДЕНИЮ:
git log tagA...tagB
предоставляет стандартный вывод журнала в диапазоне.
Ответ №6:
Ответ №7:
Если ваша команда использует описательные сообщения о фиксации (например, «Ticket # 12345 — Update dependencies») в этом проекте, то создание журнала изменений, поскольку последний тег может быть выполнен следующим образом:
git log --no-merges --pretty=format:"%s" 'old-tag^'...new-tag > /path/to/changelog.md
--no-merges
исключает коммиты слияния из спискаold-tag^
ссылается на предыдущий коммит, более ранний, чем помеченный. Полезно, если вы по какой-либо причине хотите видеть помеченный коммит внизу списка. (Одинарные кавычки нужны только для iTerm в mac OS).