728x90
반응형
본 포스팅에서는 git tag 설정과 tag를 기준으로 clone 하는 법에 대해 얘기하겠다.
Git tag
Git 태그는 Git 저장소에서 특정 커밋을 표시하는 방법이며, 프로젝트 개발의 중요한 지점을 표시하는 데 사용된다.
또한 버그가 발생해서 기능을 되돌려야 할 경우 특정 버전으로 쉽게 롤백할 수 있으며 태그를 통해 협업도 용이하게 한다.
시간이 없는 분들은 명령어 정리한 것만 보셔도 된다.
tag 생성 | git tag "태그명" |
tag 생성 (특정 commit) | git tag "태그명" "해시" |
tag 찾기 | git tag -l "패턴" |
tag 비교 | git diff "태그명_1" "태그명_2" |
tag 삭제 | git tag -d "태그명" |
tag 푸시 | git push origin "태그명" |
tag 클론 | git clone -b "태그명" "원격저장소url" |
tag 생성
git tag는 간단하게 "git tag 태그명"으로 설정하면 된다. default는 가장 최신의 log에 tag가 달린다.
git tag v1.0.0
git log --oneline
"""
8ec3e9e (HEAD -> master, tag: v1.0.0, origin/master) fix : Change test to test2
0c4099c test: upload new file
610b82a Add initial readme
"""
특정 commit tag 설정
특정 commit에 tag 설정하는 법은 commit 해시를 위 명령어의 마지막에 입력하면 된다.
"git tag 태그명 커밋해시"
git tag v0.9.9 0c4099c
git log --oneline
"""
8ec3e9e (HEAD -> master, tag: v1.0.0, origin/master) fix : Change test to test2
0c4099c (tag: v0.9.9) test: upload new file
610b82a Add initial readme
"""
tag 찾기
tag를 찾는 법은 "git tag -l 패턴"이다.
git log --oneline
"""
8ec3e9e (HEAD -> master, tag: v1.0.0, origin/master) fix : Change test to test2
0c4099c (tag: v0.9.9) test: upload new file
610b82a (tag: v0.9.8) Add initial readme
"""
git tag -l v* # 맨 앞에 v를 포함한 tag를 모두 찾기
"""
v0.9.8
v0.9.9
v1.0.0
"""
git tag -l *9* # 중간에 9를 포함한 tag를 모두 찾기
"""
v0.9.8
v0.9.9
"""
tag를 통해 commit 비교
"git diff 태그명_1 태그명_2"을 통해 각 커밋의 태그명을 입력해주면 두 커밋을 비교해 준다.
git diff v0.9.9 v1.0.0
"""
diff --git a/test b/test2
similarity index 100%
rename from test
rename to test2
"""
tag 삭제
tag 삭제는 "git tag -d 태그명"이다.
git tag -d v0.9.9
# Deleted tag 'v0.9.9' (was 0c4099c)
git log --oneline
"""
8ec3e9e (HEAD -> master, tag: v1.0.0, origin/master) fix : Change test to test2
0c4099c test: upload new file
610b82a Add initial readme
"""
tag 푸시
tag를 푸시하여 원격저장소 커밋에 태깅해 보자.
"git push origin 태그명"
git push origin v1.0.0
"""
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/watertiger5/test_repo.git
* [new tag] v1.0.0 -> v1.0.0
"""
tag 클론
특정 tag의 커밋을 clone 해보자.
"git clone -b 태그명 원격저장소url"
git clone -b v1.0.0 https://github.com/watertiger5/test_repo.git
"""
Cloning into 'test_repo'...
remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 8 (delta 0), reused 8 (delta 0), pack-reused 0
Receiving objects: 100% (8/8), done.
Note: switching to '8ec3e9ecee26034f3273f5c535b1caa01195d206'.
"""
위 예시들과 같이 tag를 사용하면 알아보기 힘든 커밋 해시를 사용하지 않고도 중요한 커밋 변곡점을 손쉽게 알아보거나 가져올 수 있다.
728x90
반응형
'Git' 카테고리의 다른 글
[Git] Git conventional commit 규칙 (0) | 2023.01.22 |
---|---|
[Git] Github 시작하기 (아이디 생성, 레포지토리 생성, README push) (0) | 2023.01.11 |
[Git] Git add/commit/push 하기 (0) | 2023.01.10 |
[Git] Git 특정 브랜치 clone (0) | 2023.01.10 |
[Git] Git remote - 원격 저장소 연결 설정 및 확인 (0) | 2023.01.10 |
댓글