Git 태그 관리

5763 단어 git.라벨
앞 말
버 전 을 발표 할 때,우 리 는 보통 버 전 라 이브 러 리 에 탭(tag)을 친다.이렇게 해서 유일 하 게 라벨 을 칠 때의 버 전 을 확정 했다.앞으로 언제든지 탭 을 만 드 는 버 전 은 탭 을 만 드 는 시간의 역사 버 전 을 만 드 는 것 입 니 다.따라서 태그 도 버 전 라 이브 러 리 의 스냅 샷 으로 실질 적 으로 특정한 commt 를 가리 키 는 지침 입 니 다.그래서 탭 을 만 들 고 삭제 하 는 것 은 순식간에 이 루어 집 니 다.쉽게 말 하면 태그 tag 는 쉽게 기억 할 수 있 는 의미 있 는 이름 으로 특정한 commt 와 묶 여 있다.Git 태그 관리
태그 만 들 기
Git 에서 탭 을 하 는 것 은 매우 간단 합 니 다.우선 탭 이 필요 한 지점 으로 전환 합 니 다.

그리고 git tag명령 을 누 르 면 새 탭 을 만 들 수 있 습 니 다.

모든 탭 을 명령 git tag 로 볼 수 있 습 니 다.

기본 탭 은 최근 에 제출 한 commt 에 있 습 니 다.가끔 라벨 을 까 먹 으 면 어 떡 하지?방법 은 과거 에 제출 한 commt id 를 찾 아서 걸 면 됩 니 다.

예 를 들 어 create b.txt 에 대한 태 그 를 제출 하려 면 해당 하 는 commt id 는 7ec 9296 이 고 명령 을 입력 합 니 다.

명령 git tag 로 탭 을 봅 니 다.탭 은 시간 순 으로 표시 되 는 것 이 아니 라 알파벳 순 으로 정렬 되 어 있 습 니 다.

git show으로 탭 정 보 를 볼 수 있 습 니 다.

레이 블 첨부
실제로 Git 에서 사용 하 는 탭 은 경량급(lightweight)과 주석 이 포 함 된(annotated)두 가지 유형 이 있 습 니 다.위 에서 소개 한 것 은 경량급 라벨 입 니 다.경량급 라벨 은 변 하지 않 는 분기 와 같 습 니 다.사실은 특정한 제출 대상 을 가리 키 는 참조 입 니 다.주석 라벨 을 포함 하여 실제 창고 에 저 장 된 독립 된 대상 입 니 다.라벨 의 이름,이메일 주소 와 날짜,라벨 설명 을 포함 하고 라벨 자체 도 GNU Privacy Guard(GPG)를 사용 하여 서명 하거나 검증 할 수 있 습 니 다.일반적으로 우 리 는 관련 정 보 를 보존 하기 위해 부주 형 라벨 을 사용 하 는 것 을 권장 합 니 다.물론 임시 적 으로 레이 블 을 달 거나 추가 정 보 를 주석 할 필요 가 없다 면 경량급 레이 블 을 사용 하 는 것 도 문제 가 없다.
주석 형식 을 포함 하 는 탭 을 만 드 는 것 은 매우 간단 합 니 다.-a(annotated 의 이니셜,중국어 뜻 주석)로 탭 이름 을 지정 하면 됩 니 다.-m 옵션 은 해당 하 는 탭 설명 을 지정 합 니 다.Git 은 이 설명 을 탭 대상 에 함께 저장 합 니 다.이 옵션 을 사용 하지 않 으 면 Git 에서 탭 설명 을 입력 할 수 있 도록 텍스트 편집 프로그램 을 시작 합 니 다.$ git tag -a v1.4 -m 'my version 1.4'제출 대상 정보 위 에 이 탭 의 제출 자 와 제출 시간,그리고 해당 하 는 탭 설명 을 볼 수 있 습 니 다.

서명 하 다.
비밀 키 가 있 으 면 GPG 로 라벨 을 서명 할 수 있 습 니 다.이전-a 를-s(signed 의 이니셜,중국어 뜻 은 기호 가 있 는 것)로 바 꾸 면 됩 니 다.$ git tag -s v0.2 -m 'signed version 0.2 released'서명 은 PGP 서명 을 사용 하기 때문에 gpg(GnuPG)를 먼저 설치 해 야 합 니 다.gpg 를 찾 지 못 하거나 gpg 키 쌍 이 없 으 면 오류 가 발생 합 니 다.

지금 git show 를 실행 하면 GPG 서명 이 붙 어 있 는 것 을 볼 수 있 습 니 다.

$ git show v0.2
tag v0.2
Tagger: Michael Liao <[email protected]>
Date: Mon Aug 26 07:28:33 2013 +0800

signed version 0.2 released
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (Darwin)

iQEcBAABAgAGBQJSGpMhAAoJEPUxHyDAhBpT4QQIAKeHfR3bo...
-----END PGP SIGNATURE-----

commit fec145accd63cdc9ed95a2f557ea0658a2a6537f
Author: Michael Liao <[email protected]>
Date: Thu Aug 22 10:37:30 2013 +0800

branch test

PGP 로 서명 한 라벨 은 PGP 서명 을 검증 할 수 있 기 때문에 위조 할 수 없습니다.
git tag-v[tagname](verify 의 이니셜,중국어 의 미 는 확인)방식 으로 서 명 된 탭 을 검증 할 수 있 습 니 다.이 명령 은 서명 을 검증 하기 위해 GPG 를 호출 합 니 다.따라서 서명 자의 공개 키 가 있어 야 keyring 에 저장 할 수 있 습 니 다.

$ git tag -v v1.4.2.1
object 883653babd8ee7ea23e6a5c392bb739348b1eb61
type commit
tag v1.4.2.1
tagger Junio C Hamano <[email protected]> 1158138501 -0700

GIT 1.4.2.1

Minor fixes since 1.4.2, including git-mv and git-http with alternates.
gpg: Signature made Wed Sep 13 02:08:25 2006 PDT using DSA key ID F3119B9A
gpg: Good signature from "Junio C Hamano <[email protected]>"
gpg:     aka "[jpeg image of size 1513]"
Primary key fingerprint: 3565 2A26 2040 E066 C9A7 4A7D C0C6 D9A4 F311 9B9A

서명 자의 공개 키 가 없 으 면 다음 과 같은 오 류 를 보고 합 니 다.

gpg: Signature made Wed Sep 13 02:08:25 2006 PDT using DSA key ID F3119B9A
gpg: Can't check signature: public key not found
error: could not verify the tag 'v1.4.2.1'
조작 태그
태그 가 잘못 걸 리 면 삭제 할 수도 있 습 니 다.$ git tag -d <tagname>
생 성 된 탭 은 로 컬 에 만 저장 되 어 있 기 때문에 원 격 으로 자동 으로 전송 되 지 않 습 니 다.따라서 잘못된 탭 은 로 컬 에서 안전하게 삭제 할 수 있 습 니 다.
기본적으로 git push 는 탭 을 원 격 서버 에 전송 하지 않 습 니 다.명시 적 명령 을 통 해 만 탭 을 원 격 창고 로 전송 할 수 있 습 니 다.$ git push origin <tagname>
또는 원 격 으로 전송 되 지 않 은 로 컬 탭 을 한꺼번에 푸 시 합 니 다.$ git push origin --tags
탭 이 원 격 으로 전송 되 었 다 면 원 격 탭 을 삭제 하려 면 번 거 로 우 므 로 로 로 컬 에서 삭제 하 십시오.

그리고 원 격 으로 삭제 합 니 다.삭제 명령 도 push 이지 만 형식 은 다음 과 같 습 니 다.

마지막 질문 입 니 다.원 격 으로 보 낸 탭 을 어떻게 봅 니까?
Github 프로젝트 의 release 를 누 르 십시오

원 격 탭 정 보 를 볼 수 있 습 니 다.

이상 은 본 고의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.또한 저 희 를 많이 지지 해 주시 기 바 랍 니 다!

좋은 웹페이지 즐겨찾기