태그를 사용하는 이유
깃 히스토리에 커밋들이 너무 많아진다면?
깃 로그가 굉장히 길어진다면??
특정한 부분으로 돌아갈때 어렵다..
그래서 특정한 커밋을 북마크 하고 싶을 때 쓰는 것이 태그이다.
특정한 커밋을 태그해 놓았을때 원하는 지점으로 빠르게 전환할 수 있는 장점이 있다.
대부분 태그를 할 때는 원하는 버전을 릴리즈 할 때 태그를 해놓는다.
태그 버전 쓰는 규칙
semantic versioning
v2.0.0
- 첫번째 v2는 major
- 전체적인 업데이트가 발생했을때, 하나씩 올려가는 버전
- 두번째 0은 minor
- 커다란 기능 중에 조금의 기능들이 업데이트 되었을 때 올림.
- 세번째 0은 fix이다.
- 기존의 기능들에서 오류 수정이나, 성능이 개선되었을 때 올림.
태그 다는 법
그냥 태그 다는 법

- git tag 이름
- 그 후 git log를 보면 가장 위쪽에 tag가 달린 것을 볼 수 있다.
특정한 커밋에 태그 다는 법

- git tag 이름 해시일부
- 그 후 git log를 보면 위의 사진처럼 특정 커밋에 태그가 달린 것을 볼 수 있다.
특정 커밋에 어떠한 기능들이 있는지 상세히 작성하고 싶을 때

- git tag 이름 해시일부 -am "상세히 작성하고 싶은 내용"
- 여기서 a는 anotate(주석을 달다)의 약자이다.
- git log나 git log --oneline으로는 볼 수 없다.
- git show 태그이름 으로 작성하여야 볼 수 있다.
작성된 모든 태그 확인하고 싶을 때

- git tag 명령어로 작성된 태그들만 볼 수 있다.
태그 중에 특정한 문자열만 검색

- git tag -l "특정한 문자"
- 와일드 카드를 이용해서 앞에 문자 포함 모든 태그를 볼 수도 있다.
특정 태그 삭제

- git tag -d 버전이름
- 해당 버전이름을 가진 태그를 삭제해준다.
특정 태그로 이동

- git checkout 이동하고싶은태그명
- 그러면 HEAD가 해당 태그명을 가리키고 있다.
특정 태그에 새로운 브랜치를 만들고 싶다면?

- git checkout -b 브랜치명 태그명
- 그러면 testing이라는 브랜치가 v1.0.0이라는 태그에 있는 커밋에서 만들어진걸 확인할 수 있다.
특정 태그를 서버에 올리고 싶다면?
모든 태그를 서버에 올리고 싶다면?
특정 태그를 삭제하고 올리고 싶다면?
- git push origin --delete v1.0.0