Important ● git tag 이해하기 ● 태그 보기 ● 태그 생성 및 푸시 Nice To Have ● Semantic versioning ● 태그 비교/삭제/옮기기 |
깃 태그는 특정 커밋에 추가하는 일종의 라벨이다. 주로 릴리즈 버전을 표시하는 용도로 사용된다.
커밋이 추가되면 같이 이동하는 브랜치 참조와 다르게 처음 지정된 커밋을 계속 참조한다.
* 태그의 두 종류 *
일반 태그(lightweight) : 특정 순간에 이름을 붙인다.
주석 태그(annotated) : 태그 메시지, 생성자 이름, 이메일, 날짜 등을 포함한다.
큰 프로젝트에서는 주석 태그를 선호하는 편이다.
시멘틱 버저닝 (Semantic versioning) 버전 번호를 매기는 일종의 규칙이다. 버전명은 숫자 세 개와 숫자 사이 점으로 구성된다. 2.4.1 같은 형태이다. 순서대로 메이저 릴리즈, 마이너 릴리즈, 패치 릴리즈이다. 패치 : 신규 기능이나 의미 있는 변경사항을 수반하지 않는다. 단순한 버그 수정이나 아주 미미한 수정사항만 포함된다. 마이너 : 신기능이 추가됐을 때 배포되며 하위 호환성이 유지된다. 반드시 신기능이 추가되는 것은 아니지만 추가된 것으로 인해 사용자의 이용 경험이 바뀌지 않으면 마이너 릴리즈로 배포된다. 메이저 : 하위 호환성이 보장되지 않을 때, 기능 삭제 또는 큰 변화가 있을 때 배포된다. 사용자의 이용 경험이 달라질 수 있다. |
git tag : 현재 저장소의 모든 태그를 조회한다. git tag <tagname> : HEAD가 가리키는 커밋에 일반 태그를 생성한다. git tag -a <tagname> : HEAD가 가리키는 커밋에 주석 태그를 생성한다. git tag <tagname> <commit-hash> : commit-hash가 가리키는 커밋에 태그를 생성한다. git tag -l "*beta*" : beta라는 글자가 포함된 태그를 모두 조회한다. 만약 "beta*"인 경우에는 beta로 시작하는 태그를 검색한다. "*beta"는 beta로 끝나는 태그를 검색한다. git tag -f <tagname> <commit-hash> : 태그를 이동시킨다. git tag -d : 태그를 삭제한다. |
git checkout <tag> 태그를 체크아웃한다. 브랜치 체크아웃과 다른점은 브랜치가 아닌 특정 커밋을 가리킨다는 점이다. |
git diff <tag1>..<tag2> 두 태그를 비교한다. 예전에 두 커밋을 비교했던 것과 완전히 동일하다. |
git show <tagname> 태그 정보를 조회한다. |
태그는 고유한 값이어야만 하기 때문에 중복 부여가 불가능하다.
커밋을 원격 저장소로 푸시한다고 해서 태그도 같이 푸시되는 것은 아니다.
태그는 별도로 푸시 해주어야 한다.
git push --tags # 모든 태그를 푸시 git push origin <tagname> # 특정 태그만 푸시 |
참고
1) https://www.udemy.com/course/best-git-github
2) https://erikanes.tistory.com/380
[Git & Github] 17. Git tag: 히스토리상의 중요한 순간에 표시하기
Important git tag 이해하기 태그 보기 태그 생성 및 푸시 Nice To Have Semantic versioning 태그 비교/삭제/옮기기 깃 태그는 특정 커밋에 추가하는 일종의 라벨이다. 주로 릴리즈 버전을 표시하는 용도로 사
erikanes.tistory.com
Section 17: Git tag: 히스토리상의 중요한 순간에 표시하기
특정 커밋에 추가하는 일종의 라벨이다. 주로 프로젝트 릴리스를 표시하는 용도로 사용된다. 태그는 시간의 어떤 지점을 가리키는 라벨과 비슷하다. 브랜치 레퍼런스는 커밋이 추가되면 가리키
velog.io
'Git > [인강] Git & Github 실무 활용 완벽 가이드' 카테고리의 다른 글
[Git & Github] 18-1. 해시 함수 (1) | 2025.05.02 |
---|---|
[Git & Github] 18. Git의 이면 - 해싱(Hashing)과 객체 (0) | 2025.05.02 |
[Git & Github] 16-2. git push -f (0) | 2025.04.30 |
[Git & Github] 16-1. git commit --amend (0) | 2025.04.30 |
[Git & Github] 16. Interactive Rebase를 사용하여 히스토리 삭제하기 (0) | 2025.04.30 |