일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- jupyter lab
- C언어 포인터
- Flutter
- vim
- Python
- HTML
- git
- 도커
- Houdini
- C++
- 플러터
- 구조체
- Data Structure
- jupyter
- 포인터
- c언어
- c# 윈폼
- 다트 언어
- 깃
- c#
- C# delegate
- c# winform
- gitlab
- 유니티
- docker
- Algorithm
- Unity
- github
- c# 추상 클래스
- dart 언어
- Today
- Total
nomad-programmer
[VCS/Git] git tag: 특정 커밋을 참조하는 이름 붙이기 본문
git tag 명령은 저장소의 커밋에 태그를 붙이는 명령어이다. 간단하게 그냥 버전 이름 같이 이름만을 붙이는 'light weight' 태그와 태그 작성자와 간단한 메모를 함께 태그에 남기는 'annotated' 태그가 있다.
만약 가장 최근 커밋에 태그를 붙이고 싶다면 간단하게 다음 명령을 실행하면 된다.
// 가장 최근 커밋에 태그 붙이기
git tag <태그 이름>
여기에서는 1.0이라는 버전 이름으로 태그를 붙였다. 그리고 태그가 붙여졌는지 확인하기 위해 다음 명령을 실행한다. 로그와 함께 태그를 볼 수 있다.
// 태그 확인
git log --decorate -1
// 현재 저장소에 있는 태그 리스트 확인
git log -l
// 태그와 커밋 SHA-1 체크섬 값을 함께 확인
git show-ref --tags
특정 커밋에 태그를 붙이는 방법
우선 커밋 SHA-1 체크섬 값을 알아야 한다. 여기에서는 최근 커밋 바로 아래의 커밋에 태그를 붙인다.
// log 확인
git log -2
로그를 명령을 내려 SHA-1 체크섬 값을 확인한다. 대략 앞의 네 자리를 기억한다. 그 후 다음 명령을 실행한다.
// SHA-1 체크섬 값을 통해 태그 붙이기
git tag 0.9 28e3
// 태그가 붙여졌는지 확인
git show-ref --tags
그런데 git tag명령만으로는 'light weight' 태그만을 생성한다. 누가, 언제, 왜, 이 태그를 붙였는지 전혀 알 수 없다. 태그 그 자체에 대한 기록은 이름 외에 아무것도 없는 셈이다.
하지만 'annotated' 태그는 누가 언제 태그를 붙였는지를 기록하고, 추가 메세지까지 같이 저장한다. 로그를 살펴보면서 태그들을 보다가 해당 태그 시점에 태그에 대한 의문이 생기면 누구에게 질문해야 하는지 한번에 알 수 있다. 또한 커밋과 다른 시점에 붙은 버전 태그가 있다면, 언제 해당 버전이 배포되었는지 알 수 있기도 하다.
이번에는 'annotated' 태그를 붙여본다. 다시 최근 커밋을 확인하기 위해 다음 명령을 실행한다.
// log 확인
git log -3
로그를 확인하여 SHA-1 체크섬 값을 얻어낸다. 만약 SHA-1 체크섬 값을 입력하지 않으면, 현재 작업 중인 브랜치의 최신 커밋에 대그를 붙이게 된다.
// 체크섬 값을 이용하여 특정 커밋에 'annotated' 태그 붙이기
git tag -a 0.8 555e
명령을 실행하면, 커밋 메시지를 입력하는 것과 비슷한 vim 편집기 창이 나타난다. 태그와 같이 기록할 메시지를 입력하고 저장하면 태그 붙이기가 완료된다.
// 태그 메시지 확인
git show <태그 이름>
git show <태그 이름> 명령을 실행해 확인하면, 누가 언제 어떤 메시지를 입력해 태그를 붙였는지 알 수 있다.
'VCS > Git' 카테고리의 다른 글
[VCS/Git] git revert: 공개된 커밋의 변경 내역 되돌리기 (0) | 2019.12.03 |
---|---|
[VCS/Git] git commit --amend: 마지막 커밋 수정하기 (0) | 2019.12.03 |
[VCS/Git] git log: 기록 보기 (0) | 2019.11.25 |
[VCS/Git] .gitignore: 불필요한 파일 및 폴더 무시 (0) | 2019.11.25 |
[VCS/Git] git 명령어 (0) | 2019.11.25 |