git 에서 commit message, branch 등등 저장소의 소스들의 버전에 대해 표기 할 방법들이 있지만,
그 중에서도 tag 로 관리하는 방법이 깔끔하다고 생각한다.
# tag 조회
git tag
# tag 생성
git tag v1.1.1
# 해당 tag 보여주기
git show v1.1.1
# tag 삭제
git tag -d v1.1.1
# 원격 저장소에 전체 tag push
git push --tag
# 원격 저장소에 올라간 tag 삭제
git push origin :v1.1.1
lightweight와 annotated 두 종류의 tag를 지원한다.
lightweight tag는 단지 특정 커밋에 대한 포인터 역할만 하며,
annotated tag는 깃 데이터베이스에 완전한 객체로 저장되어 tag한 사람의 이름과 이메일, 날짜, tag 메시지 등을
함께 저장할 수 있다.
annotated tag 의 경우 하단과 같이 작성 할 수 있다.
git tag -a v1.1.1 -m "Tag Message"
# 해당 tag 로 이동 ( detached )
git checkout v1.1.1