인프런 - 제대로 파는 Git & Github - by 얄코
태그를 붙이는 이유
🧨 특정 시점을 키워드로 저장하고 싶을 때 (중요하게 기억해야 하는 커밋을 기억하기 위해)
🧨 커밋에 버전 정보를 붙이고자 할 때 (일련의 작업들을 끝맞칠때마다 해당 커밋에 태그를 다는거지)
이런 경우에 커밋에 태그를 단다 !
태그에는 2가지 종류 존재
❤ 마지막 커밋에 태그 달기(lightweight) (특정 커밋을 지정하지 않으면 마지막 커밋에 태그 달아)
git tag v2.0.0
→ 가장 최신 커밋을 v2.0.0으로 하겠다는 뜻❤ 현존하는 태그 확인
git tag
❤ 원하는 태그의 내용 확인 → 해당 태그가 달린 커밋의 어떤 변화가 있었는지 볼 수 있다.
git show v2.0.0
❤ 태그 삭제
git tag -d v2.0.0(해당 태그명)
❤ 마지막 커밋에 태그 달기(annotated)
git tag -a v2.0.0(태그명)
바로 입력 후 메세지 작성 해도 돼
그게 아니라면 git tag v2.0.0 -m "msg"
이런 식으로 바로 태그명 달 수도 있어
❤ 원하는 커밋에 태그 달기
git tag (태그명) (커밋 해시) -m (메시지)
❤ 원하는 패턴으로 필터링하기
git tag -l 'v1.*
❤ 원하는 버전으로 체크아웃(그곳에 해당하는 익명의 브랜치로 이동한다는 뜻)
git checkout v1.2.1
내가 프로젝트에 달았던 태그들을 원격 저장소에 동기화 해보자.
❤ 특정 태그 원격에 올리기
git push (원격명) (태그명)
→ 깃헙에서 변화를 확인하면 제대로 된 것을 알 수 있어❤ 특정 태그 원격에서 삭제
git push --delete (원격명) (태그명)
❤ 로컬의 모든 태그 원격에 올리기
git push --tags