[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 tagman 페이지


당신은 또한 :

git tag -l <pattern>

주어진 패턴과 일치하는 이름을 가진 태그를 나열하십시오 (또는 패턴이 제공되지 않은 경우 모두).
인수없이 “git tag”를 입력하면 모든 태그가 나열됩니다.


더 최근에 ( ” git 태그를 정렬하는 방법? “, Git 2.0+의 경우)

git tag --sort=<type>

특정 순서로 정렬하십시오.

지원되는 유형은 다음과 같습니다.

  • refname“(사전 순서),
  • version:refname“또는 ” v:refname“(태그 이름은 버전으로 취급됩니다).

정렬 순서를 반대로하려면 “-“를 앞에 추가하십시오.


그것은 둘 다 나열합니다.

  • 주석이 달린 태그 : Git 데이터베이스에 저장된 전체 객체. 그들은 체크섬입니다; 태그 이름, 이메일 및 날짜를 ​​포함합니다. 태그 메시지가 있습니다. GNU Privacy Guard (GPG)로 서명하고 확인할 수 있습니다.
  • 경량 태그 : 기존 커밋에 대한 간단한 포인터

참고 : 태그 지정에 관한 git ready 기사 는 경량 태그를 승인하지 않습니다.

인수없이, git 태그는 기본적으로 절대 움직이지 않는 “가벼운”태그를 만듭니다.
경량 태그는 여전히 알려진 (또는 불량) 버전을 표시하거나 나중에 사용해야 할 커밋에 유용합니다.
그럼에도 불구하고 아마도 이런 종류의 태그를 푸시하고 싶지 않을 것입니다 .

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


그 존재는 말했다 찰스 베일리 A는 ‘지적 git tag -m "..."‘(실제로는 적절한 (주석 부호) 태그 옵션 의미 ‘ -a‘, 그리고 경량의 하나). 그래서 당신은 초기 명령에 능숙합니다.


이것은 다음과 다릅니다.

git show-ref --tags -d

커밋과 함께 태그를 나열합니다 ( ” Git 태그 목록, 커밋 sha1 해시 표시 “참조).
-d(자신의 커밋 자신의 SHA1이) 주석 태그 객체를 역 참조 커밋 태그 실제를 표시하기 위해.

마찬가지로 git show --name-only <aTag>태그와 관련 커밋이 나열됩니다.


답변

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

git tag -n

-n플래그는 태그와 함께 주석 메시지의 첫 번째 줄을 표시하거나 태그가 주석되어 있지 않은 경우는 첫 번째 메시지 라인을 커밋합니다.

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


답변

또한 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 ls-remote --tags origin


답변

만들려고 git tag그것을 만들려고하지 않으면 충분해야 git fetch다음 git tag.


답변

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 version으로 시작하지 않습니다 1.9.4.

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

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


답변

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

git show `git describe` --pretty=fuller