메뉴 건너뛰기

기본적인 Git 태그 사용법에 대해 알아보겠습니다.

git-tags.jpg


Tagging 의 용도?

변경 이력의 주요한 지점에 표식을 남겨서 나중에 그 시점의 소스코드를 얻기 위해 사용됩니다.


태그 목록 보기

$ git tag
v0.1
v1.0
v1.1


특정 문자열을 포함하는 태그 찾는 방법

$ git tag -l 'v1.7.5*'
v1.7.5
v1.7.5-rc0
v1.7.5-rc1
v1.7.5-rc2
v1.7.5-rc3
v1.7.5.1
v1.7.5.2

태그 생성 방법

Git에는 lighweight와 annotated의 두 가지 종류의 태그가 있습니다.


Lightweight tag는 branch와 같이 변하지 않은 특성을 가집니다. 즉, 단순히 특정 commit을 가리키게 됩니다.


반면 annotated tag는 Git 데이터베이스에 object 전체 정보를 저장합니다. 저장되는 정보는 다음과 같습니다.

- check sum

- 태그를 수행한 사용자 이름, email

- 태그 수행 날짜

- 태그 메시지

- GNU Privacy Guard (GPG)로 sign 할 수 있음


일반적으로 annotated tag 사용을 권장합니다.


Annotated Tag 생성 방법:

$ git tag -a v2.4 -m 'message of version 2.4'
$ git tag
v0.1
v1.3
v1.4
v2.4

Annotated Tag 정보 열람 방법:

$ git show v2.4
tag v2.4
Tagger: PSEG <pseg@pseg.or.kr>
Date:   Sat May 3 20:19:12 2014 -0700

my version 2.4

commit ca82a6dff817ec66f44342007202690a93763949
Author: PSEG <pseg@pseg.or.kr>
Date:   Mon Mar 17 21:52:11 2008 -0700

    changed the version number


Lightweight Tag 생성 방법:

$ git tag v2.4-lt
$ git tag
v0.1
v1.3
v1.4
v2.4-lt

Lightweight Tag 열람 방법:

$ git show v2.4-lt
commit ca82a6dff817ec66f44342007202690a93763949
Author: PSEG <pseg@pseg.or.kr>
Date:   Mon Mar 17 21:52:11 2008 -0700

    changed the version number


커밋 후에 태그 생성하는 방법

이미 커밋된 이력에도 태그를 설정할 수 있습니다.


커밋 목록 확인:

$ git log --pretty=oneline
15027957951b64cf874c3557a0f3547bd83b3ff6 Merge branch 'experiment'
a6b4c97498bd301d84096da251c98a07c7723e65 beginning write support
0d52aaab4479697da7686c15f77a3d64d9165190 one more thing
6d52a271eda8725415634dd79daabbc4d9b6008e Merge branch 'experiment'
0b7434d86859cc7b8c3d5e1dddfed66ff742fcbc added a commit function
4682c3261057305bdd616e23b64b0857d832627b added a todo file
166ae0c4d3f420721acbb115cc33848dfcc2121a started write support
9fceb02d0ae598e95dc970b74767f19372d61af8 updated rakefile
964f16d36dfccde844893cac5b347e7b3d44abbc commit the todo
8a5cbc430f1a9c3d00faaeffd07798508422908a updated readme


태그 설정 (Annotated Tag 예), 정보 열람:

$ git tag -a v2.2-hotfix 9fceb02

$ git tag
v0.1
v1.2
v2.0
v2.2
v2.2-hotfix
v2.4-lt
v2.5

$ git show v2.2-hotfix
tag v2.2-hotfix
Tagger: PSEG <pseg@pseg.or.kr>
Date:   Mon Feb 9 15:32:16 2009 -0800

version v2.2-hotfix
commit 9fceb02d0ae598e95dc970b74767f19372d61af8
Author: PSEG <pseg@pseg.or.kr>
Date:   Sun Apr 27 20:43:35 2008 -0700

    updated rakefile
...

리모트 서버에 태그 반영하기

태그 정보는 단순한 git push로 리모트 서버에 전송되지 않습니다. 따라서 태그 정보를 리모트 서버에 반영하기 위한 특별한 옵션을 추가해야 합니다.


특정 태그 정보 푸쉬 방법:

푸시할 태그 이름을 옵션에 기술합니다.

$ git push origin v2.5
Counting objects: 14, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (12/12), done.
Writing objects: 100% (14/14), 2.05 KiB | 0 bytes/s, done.
Total 14 (delta 3), reused 0 (delta 0)
To pseg@pseg.or.kr:projects/example.git
 * [new tag]         v2.5 -> v2.5


로컬의 모든 태그 정보 푸쉬 방법:

--tags 옵션을 추가하여 모든 태그가 푸쉬 되도록 합니다.

$ git push origin --tags
Counting objects: 1, done.
Writing objects: 100% (1/1), 160 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To git@github.com:schacon/simplegit.git
 * [new tag]         v2.4 -> v2.4
 * [new tag]         v2.4-lt -> v2.4-lt


태그 불러오기

태그를 로컬에 check out 하려면 새로운 브랜치를 만들어야 합니다.

$ git checkout -b version2.4 v2.4
Switched to a new branch 'version2.4'


version2.4 브랜치를 수정한 후 커밋하면 v2.4 태그와 다른 버전이 된다는걸 주의해야 합니다:)


Who's PSEG

profile

PSEG는 Practical Software Engineering Group의 약자입니다. 

이론을 넘어 실용적으로 활용할 수 있는 소프트웨어 공학을 공유하는게 그룹의 목적입니다.

Atachment
첨부 '1'
?

 


  1. SonarQube Windows 서비스 등록

    SonarQube Windows 서비스 등록 해당 가이드는 Windows 32bit, 64bit 모두 동일하니 아래 가이드를 참고하셔서 사용하면 됩니다. 먼저 Sonarqube를 설치한 디렉토리로 이동합니다. bin 디렉토리 아래 실행을 위한 해당 버전의 폴더로 이동합니다. 저...
    Date2015.09.07 ByTom Reply1 Views5235
    Read More
  2. 프로젝트 코드 가시화를 위한 Jenkins와 SonarQube 연동

    이번 포스트는 프로젝트의 코드를 가시화할 수 있는 Dashboard인 SonarQube와 Jenkins의 연동 방법에 대해서 작성합니다. Jenkins와 SonarQube의 연동을 통해 Build 서버에서 Build가 수행될때마다 현재 코드의 품질 지표를 SonarCode에서 실시간으로 확인할 ...
    Date2015.08.31 ByTom Reply1 Views12389
    Read More
  3. Jenkins 정적분석(PMD, FindBug, CheckStyle) 구축과 실행 결과

    이번 포스트는 Java 프로젝트에서 많이 사용하고 있는 정적분석 도구인 PMD, FindBugs, CheckStyle을 연동하는 방법에 대해서 다룹니다. 1. 정적분석정적분석은 소프트웨어를 분석하는 방법의 하나로 소프트웨어를 실행하지 않고 코드 레벨에서 분석하는 ...
    Date2015.08.28 ByTom Reply1 Views28546
    Read More
  4. Bitnami Redmine 3.1 SVN Server 저장소 설정 방법

    Bitnami Redmine 3.1 SVN Server 설정 방법 Bitnami Redmine을 설치하면서 SVN Server를 함께 설치할 수 있습니다. 자신이 원하는 경로를 저장소로 설정하기 위해서는 간단하게 설정하고 Service를 새로 등록해주어야 합니다. 이 문서는 이를 진행하는 ...
    Date2015.08.24 ByTom Reply2 Views9493
    Read More
  5. Git 태그 기초

    기본적인 Git 태그 사용법에 대해 알아보겠습니다. Tagging 의 용도? 변경 이력의 주요한 지점에 표식을 남겨서 나중에 그 시점의 소스코드를 얻기 위해 사용됩니다. 태그 목록 보기 $ git tag v0.1 v1.0 v1.1 특정 문자열을 포함하는...
    Date2015.01.31 ByPSEG Reply1 Views5879
    Read More
  6. Git 기본 명령어 모음

    <용어 정리> Repository : 작업 저장소 Remote : 원격 저장소 Branch : 강의 지류에 비유할 수 있는 소스코드 Origin : 기본 업스트림 저장소 Master : 강의 본류에 비유할 수 있는 소스코드 HEAD : 현재 작업중인 브랜치의 최근 갱신 내용을 가...
    Date2015.01.13 ByTerry Reply0 Views8120
    Read More
  7. Jenkins를 이용한 HTML 문법검사 자동화

    Extending unicorn validator for JenkinsPosted by Arjan Lamers on May 6, 2014 in Blog | 0 comments For a project I wanted to add strict HTML 5 syntax checking. It is not something that is easy to do in the build since in general it requires...
    Date2014.09.16 ByTerry Reply0 Views6718
    Read More
  8. 레드마인(Redmine)과 이클립스(Eclipse) Mylyn 연동

    이 문서는 레드마인(Redmine)과 이클립스(Eclipse) 마이린(Mylyn) 연동에 대해서 가이드를 제공합니다. 1. 다운로드 및 Redmine Mylyn Connector 설치먼저 command를 실행하고 redmine_mylyn_connector 플러그인을 다운로드 받기 위해 레드마인(Redmine)...
    Date2014.07.21 ByPSEG Reply1 Views18110
    Read More
  9. 레드마인(Redmine)과 서브버전(Subversion)연동

    이 문서는 레드마인(Redmine)과 서브버전(Subversion) 연동에 관하여 간단한 가이드를 제공합니다. 서브버전(Subversion)의 연동은 프로젝트 별로 이뤄질 수 있으며, 이 가이드의 예제는 3DXMALL이라는 가상의 프로젝트와 subversion 저장소 3dxmall을 연동하...
    Date2014.07.15 ByPSEG Reply3 Views16456
    Read More
  10. 레드마인(Redmnine) PSEG Black 테마 다운로드

    이 문서는 레드마인 PSEG Black 테마를 공유하기 위해 작성되었습니다. 테마라고 하기엔 너무 거창한 것 같고, Default 레드마인 테마에서 색상을 검정색 류와 한글 폰트를 추가하여 변경하였습니다. 한번 보시고, 마음에 드시면 다운로드 받아서 쓰시기를 권...
    Date2014.07.14 ByPSEG Reply1 Views5434
    Read More
Board Pagination Prev 1 2 3 4 5 Next
/ 5