#35 Git - Tag 원리

김현준·2022년 12월 29일
0

GIT

목록 보기
35/41
post-custom-banner

이번 시간에는 tag 의 원리에 대해 알아보겠습니다.

저번 시간에 사용하였던 tag 디렉토리의 f1.txt 를 한번 더 사용하겠습니다.

파일의 내용에 e 를 추가 해주고 commit 을 해줍니다.

이 상태에서 태그를 만들면 gistory 에 어떤변화가 있을까요?

git tag 1.1.2 로 새로운 태그를 만들어줍시다.

gistory 에너는 refs\tags\1.1.2 디렉토리만 변화하였고 최근의 commit_id 를 가르키고 있습니다.

즉 태그를 만든다는 것은 refs\tags 파일 아래에 파일이 생긴다는 의미입니다.

그러면 직접 그 디렉토리에 가서 파일을 만들어 보겠습니다.

아까 그 경로로 가줍시다.

tags/Documents/tag/.git/refs/tags 로 가서 1.1.3 이라는 새로운 파일을 만들고 파일의 내용은 이전의 commit_id 를 넣었습니다.

다시 원래 디렉토리로 돌아오고 git tag 이 태그가 추가된 것을 확인 할 수 있습니다.

git 의 인터페이스를 사용하지않고도 원리를 알면 스스로 태그를 만들 수 있습니다.

방금 만든것은 light weight tag 입니다. annotated tag 도 만들어 봅시다.

먼저 f1.txt 를 한번 더 수정해주고 commit 를 해줍니다.

git tag -a 1.1.4 -m "bug fix" 를 통해서 주석이 있는 태그를 만들어 주었습니다.

gistory 에 들어가보면 object 파일이 변경되었습니다.
tag 이름과 누가 만들었는지에 대한 정보 , 그 태그에 대한 내용과 commit_id 를 담고 있습니다.

.git\refs\tags\1.1.4 에서도 내용이 똑같이 변경되었습니다.

branch 의 원리를 알고있다면 , tagbranch 의 원리는 거의 똑같다고 말할 수 있습니다.

그저 branch 는 최신 branch 가 가르키는 commit_id 가 변하지만 tagcommit_id 가 고정되어있는 점 빼고는 동일하다고 볼 수 있습니다.

이번시간에는 gistory 를 통해 tag 의 원리에 대해 알아보았습니다.

여기까지 하도록 하겠습니다.

profile
울산대학교 IT융합학부 22학번
post-custom-banner

0개의 댓글