git tag
는 git에서 특정 커밋을 쉽게 찾을 수 있도록 돕는 기능입니다. 이는 책의 책갈피와 비슷한 역할을 수행합니다. git tag
에는 두 가지 타입의 태그가 존재합니다.
Lightweight 태그는 단순히 특정 커밋을 가리키는 포인터입니다. 특정 시점을 표시하거나 메모하는 데 사용됩니다.
git tag [태그 이름] [커밋 해시]
git tag [태그 이름]
Annotated 태그는 태그를 생성한 사람의 이름, 이메일, 날짜, 그리고 태그 메시지를 포함하며, 이 정보들은 git 데이터베이스에 저장됩니다. tag -a
옵션을 사용하여 Annotated 태그를 생성할 수 있습니다. -m
옵션을 사용하면 메시지를 작성할 수 있으며, -m
옵션을 사용하지 않으면 자동으로 편집기가 실행됩니다.
git tag -a <태그 이름> <커밋 해시> -m "메시지"
git tag -a <태그 이름> -m "메시지"
git tag
# 로컬 저장소에 있는 모든 태그의 목록을 확인합니다.
git tag -l [특정 패턴]
# 특정 패턴에 매칭되는 태그들만 필터링하여 표시하는 역할을 합니다.
# ex) git tag -l v1.* 명령어를 사용하면 v1.로 시작하는 모든 태그를 확인할 수 있습니다.
git show [태그 이름]
# 특정 태그에 대한 정보를 보여줍니다.
git tag -f [태그 이름] [커밋 해시]
# 이미 존재하는 특정 태그를 강제로 지정한 커밋으로 이동시킵 니다.
git tag -d [태그 이름]
# 특정 태그를 삭제합니다.
git push origin <태그 이름>
# 로컬에 생성한 태그를 원격 저장소에 푸시합니다.
git push origin --tags
# 로컬에 생성된 모든 태그를 원격 저장소에 푸시합니다.