태그란?
tag. 보존할만한 변화들을 찾기 쉽게 보관하는 방법
태그의 종류
-
Annotated Tag
tag를 만든 사람의 이름, 이메일, 날짜, Tag메시지까지 저장, 서명도 할 수 있다.
-
Lightweight Tag
파일체크섬만 저장, 특별한 상황이 아니면 Lightweight Tag의 이용을 권장
명령
- git tag : 현재 위치하고 있는 저장소의 tag 목록을 열람한다.
- git tag release1.0 : release1.0이라는 이름의 태그를 생성한다.
- git tag release1.1 16aaa : release1.1을 생성하고 체크아웃 한 다음에 커밋 id인 16aaa을 반영
- git tag -d release1.1 : tag release1.0을 삭제
시나리오
- Helloworld 에플리케이션의 버전 release2.0을 출시했다.
- release2.0을 tag명 release2.0으로 보존한다.
- tag를 생성하면서 기존에 tag로 만들지 않았던 release1.0을 찾아서 release1.0이라는 이름으로 태그를 만든다.
- 필요에 의해서 tag명 release1.0을 release1.0이라는 브랜치로 체크아웃한다.
- release1.0을 수정하고 기존의 태그 release1.0을 삭제 한 후에 방금 수정한 버전을 release1.0으로 기록한다.
참고
tag는 리모트 서버로 push할 때 자동으로 리모트 브랜치에 반영되지 않기 때문에 아래와 같이 명시적으로 반영해야함.
git push origin --tags