시스템의 모든 태그를 생성 날짜별로 나열하는 방법이 필요하지만 git-log를 통해 해당 데이터를 가져올 수 있는지 확실하지 않습니다. 아이디어?
답변
태그 생성 날짜를 기준으로 정렬하면 주석이 달린 가벼운 태그에서 작동합니다.
git for-each-ref --sort=creatordate --format '%(refname) %(creatordate)' refs/tags
답변
Git 2.8 (2016 년 3 월) 은 git 1.4.4 (Oct2006)로 거슬러 올라가는 또 다른 옵션을 설명 합니다. Eric Wong ( )의 commit e914ef0 (2016 년 1 월 5 일)을
참조하십시오 . ( Junio C Hamano 에 의해 병합 — 커밋 108cb77 , 2016 년 1 월 20 일)ele828
gitster
새로운 것을보십시오 Documentation/git-for-each-ref.txt
커밋 및 태그 객체의 경우 특수
creatordate
및creator
필드는 객체 유형에 따라committer
또는tagger
필드 의 적절한 날짜 또는 전자 메일 날짜 튜플 에 해당합니다.
이것은 주석과 가벼운 태그의 혼합 작업을위한 것입니다 .
따라서 creatordate
태그 작업을 사용하면 :
git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname) %(*objectname) %(objectname)' refs/tags | \
sort -n | awk '{ print $4, $3; }'
또는:
git tag --sort=-creatordate
” rc-XYZW 형식의 버전 문자열 순서로 git 태그를 정렬하는 방법? “에서 자세히 설명했듯이git tag
(Git 2.0 2014 년 6 월부터) 정렬 순서를 추가 할 수 있습니다 .
이 정렬 순서에는 필드 이름 (으로 나열 됨 git for-each-ref
)으로 taggerdate가 포함 됩니다. 즉, 허용 git tag --sort=taggerdate
(언급 DarVar 이하 )
에서, 예를 들어 git/git
REPO 가 나열한다 v2.10.0
마지막 태그 :
v2.9.1
v2.9.2
v2.9.3
v2.10.0-rc0
v2.10.0-rc1
v2.10.0-rc2
v2.10.0
기본 순서는 ( git tag
) 이 아닙니다 .
v2.1.2
v2.1.3
v2.1.4
v2.10.0
v2.10.0-rc0
v2.10.0-rc1
v2.10.0-rc2
v2.2.0
답변
git log --tags --simplify-by-decoration --pretty="format:%ci %d"
또한 (날짜 필드가없는)의 좋은 결과 :
git log --tags --decorate --simplify-by-decoration --oneline
종속성 및 스트라이프 선형 커밋 (태그 지정 및 분기 / 병합과 같은 필수 이벤트 만)을 사용하여 전체 히스토리를 보려면 다음을 수행하십시오.
git log --graph --decorate --simplify-by-decoration --oneline --all
답변
git tag --sort=-taggerdate
매뉴얼 페이지에 따르면 “접두사-값의 내림차순으로 정렬합니다.”
git tag
git-for-each-ref
키가 문서화 되어있는와 동일한 정렬 키를 사용합니다 .
답변
이 단일 라이너는 소란없이 날짜와 태그를 표시합니다.
git tag --format='%(creatordate:short)%09%(refname:strip=2)'
산출:
2015-04-01 storaged-2.0.0
2015-06-11 storaged-2.1.0
2015-08-06 storaged-2.1.1
...
기본적으로 태그를 정렬하는 방법이 마음에 들지 않으면 --sort=creatordate
예를 들어 옵션을 사용하여 날짜별로 정렬 할 수 있습니다 . 자세한 내용은 VonC 답변 을 참조하십시오.
답변
커밋 날짜를 기준으로 주석이 달린 태그와 경량 태그를 모두 정렬하려면 다음을 사용합니다.
git for-each-ref --format='%(*committerdate:raw)%(committerdate:raw) %(refname) %(*objectname) %(objectname)' refs/tags | \
sort -n | awk '{ print $4, $3; }'
이 명령은 모든 태그와 관련 커밋 객체 ID를 시간순으로 나열합니다.
답변
힘내 version 2.10.0.windows.1
git tag --sort=taggerdate