태그 간 Git 로그


82

두 태그가 지정된 커밋 사이에 로그를 출력하려고합니다.

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

내가 원하는 것이 아닌 repo가 ​​시작된 이후로 모든 커밋을 출력합니다. git log 매뉴얼을 읽었지만별로 도움이되지 않습니다.

답변:


146

범위를 나타내려면 줄임표가 필요합니다. 시도해보십시오 git log tag1..tag2.


25
...대칭적인 차이를 줄 것입니다 ( 두 태그에서 도달 할 수 없는 커밋 만 표시 ), 원하는 것 같습니다..
knittl

14
참고 : 태그는 오름차순이어야합니다. newtag..oldtag작동하지 않습니다
balki dec.

4
다시 : "태그는 오름차순이어야합니다. newtag..oldtag는 작동하지 않습니다.": git은 먼저 태그를 각 커밋으로 변환 한 다음 해당 커밋에 대해 요청 된 작업을 수행합니다. 태그의 순서를 바꾸면 이전과 이후의 차이가 반전되지만 여전히 작동합니다.
Gino

1

나는 이것을 사용하여 마지막 두 태그 사이의 커밋을 얻습니다.

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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.