source

모든 Git 태그를 나열하는 방법?

manycodes 2023. 4. 26. 23:28
반응형

모든 Git 태그를 나열하는 방법?

저장소에서 다음 명령을 사용하여 태그를 만들었습니다.

git tag v1.0.0 -m 'finally a stable release'
git tag v2.0.0 -m 'oops, there was still a major bug!'

리포지토리의 모든 태그를 어떻게 나열합니까?

git tag

충분할 것입니다.관리 페이지 참조


또한 다음과 같은 이점이 있습니다.

git tag -l <pattern>

지정된 패턴(또는 패턴이 지정되지 않은 경우 모두)과 일치하는 이름을 가진 태그를 나열합니다.
인수 없이 "git tag"를 입력하면 모든 태그가 나열됩니다.


최근("Git 태그 정렬 방법?", Git 2.0+의 경우)

git tag --sort=<type>

특정 순서로 정렬합니다.

지원되는 유형:

  • "refname(사전순서),
  • "version:refname또는 "v:refname태그 이름은 버전으로 처리됩니다.

접두사 "-역순 정렬 순서입니다.


다음 두 가지가 모두 나열됩니다.

  • 주석이 달린 태그: Git 데이터베이스에 저장된 전체 개체.체크섬이 설정되어 있고, 태그 이름, 전자 메일 및 날짜가 포함되어 있으며, 태그 메시지가 있으며, GNU Privacy Guard(GPG)로 서명 및 확인할 수 있습니다.
  • Lightweight 태그: 기존 커밋에 대한 단순 포인터

참고: 태그 지정에 대한 Git Ready 기사는 경량 태그를 허용하지 않습니다.

인수 없이 git 태그는 기본적으로 절대 움직이지 않는 분기인 "lightweight" 태그를 만듭니다.
그러나 Lightweight 태그는 알려진 양호한(또는 불량) 버전을 표시하거나 향후 사용해야 할 커밋을 여러 개 표시하는 데 유용합니다.
그럼에도 불구하고, 여러분은 아마도 이런 종류의 태그를 누르고 싶지 않을 것입니다.

일반적으로 서명되지 않은 태그를 만들려면 -a 옵션을 전달하거나 -s 또는 -u 옵션을 통해 GPG 키로 태그에 서명해야 합니다.


그렇긴 하지만, 찰스 베일리가 지적하기를 'git tag -m "..."실제로 적절한(부호가 없는 주석이 달린) 태그를 의미합니다(옵션 ').-a'), 그리고 가벼운 것이 아닙니다.그래서 당신은 당신의 초기 명령에 능숙합니다.


이는 다음과 다릅니다.

git show-ref --tags -d

여기에는 커밋이 포함된 태그가 나열됩니다("Git Tag list, display commit sha1 hashs" 참조).
참고:-d주석이 달린 태그 개체(자체 커밋 SHA1이 있음)를 참조 해제하고 실제 태그가 지정된 커밋을 표시합니다.

유사하게,git show --name-only <aTag>태그 및 관련 커밋이 나열됩니다.

참고: Git 2.37을 사용합니다.git show-ref --heads/--tags.

선호하는 태그를 나열하려면:

git tag -n

-nflag는 주석 메시지의 첫 번째 줄을 태그와 함께 표시하거나, 태그에 주석이 없는 경우 첫 번째 커밋 메시지 줄을 표시합니다.

또한 할 수 있습니다.git tag -n5주석의 처음 5줄을 표시합니다.

원격 태그를 찾는 방법은 다음과 같습니다.

git ls-remote --tags origin

도.git show-ref태그를 해당 커밋과 직접 연결할 수 있으므로 유용합니다.

$ git tag
osgeolive-6.5
v8.0
...

$ git show-ref --tags
e7e66977c1f34be5627a268adb4b9b3d59700e40 refs/tags/osgeolive-6.5
8f27e65bddd7d4b8515ce620fb485fdd78fcdf89 refs/tags/v8.0
...

Git에 사용 가능한 태그를 나열하는 것은 간단합니다. 냥입 력그를 입력하세요.git tag 사항 )-l또는--list).

$ git tag
v5.5
v6.5

특정 패턴과 일치하는 태그를 검색할 수도 있습니다.

$ git tag -l "v1.8.5*"
v1.8.5
v1.8.5-rc0
v1.8.5-rc1
v1.8.5-rc2

git 저장소에 대한 최신 태그를 가져오는 중

명령은 커밋에서 연결할 수 있는 가장 최근의 태그를 찾습니다.태그가 커밋을 가리킬 경우 태그만 표시됩니다.그렇지 않으면 태그가 지정된 개체 위에 추가 커밋 수와 가장 최근 커밋의 약어 개체 이름을 붙여 태그 이름을 접미사로 지정합니다.

git describe

와 함께--abbrev로 설정한.0명령을 사용하여 가장 가까운 위치를 찾을 수 있습니다.tagname접미사 없이:

git describe --abbrev=0

다른 예:

git describe --abbrev=0 --tags # gets tag from current branch
git describe --tags `git rev-list --tags --max-count=1` // gets tags across all branches, not just the current branch

원격에 존재하지 않는 로컬 깃 태그를 잘라내는 방법

간단히 말하자면, 만약 당신이 다음과 같은 것을 하려고 한다면.git fetch -p -tGit 버전부터 작동하지 않습니다.1.9.4.

그러나 최신 버전에서는 여전히 작동하는 간단한 해결 방법이 있습니다.

git tag -l | xargs git tag -d  // remove all local tags
git fetch -t                   // fetch remote tags

만어보요를 만들어 .git tag만들려고 노력하지 않는다면 충분할 것입니다.git fetch그리고나서git tag.

사용 가능한 최신 태그에 대한 세부 정보를 보려면 다음을 사용합니다.

git show `git describe` --pretty=fuller

할 수 .git tag 또는목필수있다습니할터링을록으로 도 있습니다.git tag -l 'v1.1.*'서, 디에어*와일드카드 역할을 합니다.은 다과같이표태목반환다니로 입니다.v1.1.

당신이 전화를 하면 당신은 그것을 알게 될 것입니다.git tag주석의 내용을 볼 수 없습니다. 보기를 미리보추야합니다를 .-n명령을 따릅니다.git tag -n2.

$ git tag -l -n2

v1.0 릴리스 버전 1.0

v1.1 릴리스 버전 1.1

이 명령은 모든 기존 태그를 최대 3줄의 태그 메시지와 함께 나열합니다.으로 기적으로-n첫 번째 줄만 표시합니다.자세한 내용은 이 태그 관련 기사도 확인하십시오.

태그 이름을 로컬로 확인하려면 태그를 만든 경로(로컬 경로)로 이동해야 합니다.개체를 배치한 위치를 의미합니다.그런 다음 명령을 입력합니다.

git show --name-only <tagname>

해당 태그 이름 아래의 모든 개체가 표시됩니다.저는 Teradata에서 일하고 있고 객체는 뷰, 테이블 등을 의미합니다.

다음 두 명령은 순서와 목록 길이가 같기 때문에 bash의 원샷 예제입니다.

paste <(git tag -l) <(git tag -l | xargs -n1 git rev-parse)

GUI에서 이 작업을 수행하기 위해 'gitk'가 명명된 보기를 지원한다는 것을 방금 발견했습니다.보기에는 커밋을 선택할 수 있는 몇 가지 옵션이 있습니다.하나는 "모든 태그"를 선택하기 위한 상자입니다.그것은 제가 태그를 보는 데 효과가 있는 것 같습니다.

언급URL : https://stackoverflow.com/questions/1064499/how-to-list-all-git-tags

반응형