Журнал Git между тегами

84

Я пытаюсь вывести журнал между двумя помеченными коммитами.

mbell@cheetah [12:07:22] [/var/www/html/brone] [dev]
-> % git tag 
6.x-0.1
6.x-1.0-beta1
6.x-1.0-beta2
6.x-1.0-beta3
6.x-1.0-beta4
6.x-1.0-beta5
6.x-1.0-beta6
6.x-1.0-beta7
6.x-1.0-beta8
6.x-1.0-beta9

Если я тогда сделаю:

git log 6.x-1.0-beta8 6.x-1.0-beta9 > ~/gitlogbrone.txt

Он выводит все коммиты с момента начала репо, чего я не хочу. Я прочитал руководство по git log, но это не очень помогает.

цифровой
источник

Ответы:

149

Для обозначения диапазона вам понадобится многоточие. Попробуй git log tag1..tag2.

Нуфаль Ибрагим
источник
25
...даст вам симметричную разницу (только с указанием фиксаций не достижимые из обоих тегов), я предполагаю , что вы хотите..
knittl
14
Примечание: теги должны быть в порядке возрастания. newtag..oldtagне работает
балки
4
Re: «теги должны быть в порядке возрастания. Newtag..oldtag не работает»: я думаю, что git сначала просто переводит теги в их соответствующие коммиты, а затем выполняет запрошенную операцию с этими коммитами. Переключение порядка тегов просто меняет местами различия до и после, но все равно должно работать.
Джино
а если тег первый?
Thomas Decaux
2

Я использую это, чтобы получить коммиты между двумя последними тегами:

git log --pretty=format:%s `git tag --sort=-committerdate | head -1`...`git tag --sort=-committerdate | head -2 | awk '{split($0, tags, "\n")} END {print tags[1]}'` > change_log.txt
Wilmol
источник