Computer >> 컴퓨터 >  >> 프로그램 작성 >> 프로그램 작성

힘내 태그

태깅은 Git 저장소 기록의 특정 지점을 추적하는 데 사용되는 기능입니다.

시간이 지남에 따라 Git 리포지토리로 작업할 때 코드베이스에 많은 변경 사항을 적용하게 됩니다. Git에서 커밋은 개별 변경 사항을 추적하는 데 사용됩니다.

그러나 버전과 같은 저장소 히스토리의 한 지점을 캡처하려면 Git 태깅 기능을 사용하는 것이 좋습니다.

이 자습서에서는 태그 지정의 기본 사항과 git tag 명령을 사용하여 Git 리포지토리의 태그 작업을 수행하는 방법을 예제와 함께 설명합니다. 이 튜토리얼을 읽으면 Git에서 태그 작업의 전문가가 될 것입니다.

Git 태깅

태그는 Git 저장소 기록의 특정 부분을 가리키는 참조(refs)입니다.

태그는 일반적으로 개발자가 버전 릴리스를 생성하기 위해 리포지토리 기록의 특정 지점을 캡처하는 데 사용됩니다. 예를 들어, 개발자가 프로젝트의 새 버전을 시작할 준비가 되면 프로젝트에 대한 태그를 생성할 수 있습니다.

본질적으로 태그는 변경되지 않는 분기입니다. 태그를 만든 후에는 태그 기록에 더 이상 커밋이 추가되지 않습니다. 대신 태그는 태그가 추가되었을 때 저장소가 어떻게 표시되었는지에 대한 스냅샷을 저장합니다.

Git에서 지원하는 두 가지 유형의 태그가 있습니다. 이것들은:

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

  • 주석이 있는 태그. Git 데이터베이스에 전체 개체로 저장되는 태그입니다.
  • 경량 태그. 이름과 커밋에 대한 포인터인 태그입니다.

이제 Git 태그 지정의 기본 사항에 대해 논의했으며 Git에서 태그 작업을 수행하는 방법을 살펴봅니다.

태그 생성

Git에서 태그 작업을 시작하려면 먼저 태그를 생성해야 합니다. Git에서 태그를 생성하는 구문은 다음과 같습니다.

git 태그 <이름>

"name" 매개변수는 생성하려는 태그의 이름을 나타냅니다. 태깅은 일반적으로 프로젝트 버전을 추적하는 데 사용되기 때문에 태그에 "v1.2" 또는 "beta-v0.9"와 같은 이름을 사용할 수 있습니다.

생성한 태그는 저장소에 있는 현재 커밋에 적용됩니다.

주석이 있는 태그

주석이 달린 태그는 전체 개체를 Git 데이터베이스에 저장하는 태그입니다. 주석이 달린 태그를 생성하면 태그를 생성한 사람의 이름, 이메일, 태그 생성 날짜와 같은 메타데이터가 저장됩니다.

또한 주석이 달린 태그는 태그에 대한 메시지와 함께 저장됩니다. 일반적으로 말해서, 주석이 달린 태그에 의해 저장된 메타데이터는 많은 용도를 가질 수 있기 때문에 경량 태그보다 주석이 달린 태그가 선호됩니다.

예를 들어, 시간이 지남에 따라 누가 버전 관리를 담당했는지 추적하려면 주석이 달린 태그에 의해 저장된 메타데이터에 액세스해야 합니다.

Git에서 주석 태그를 생성하는 구문은 다음과 같습니다.

git 태그 -a <이름>

-a 플래그는 주석이 달린 태그를 생성하도록 Git에 지시하는 데 사용됩니다. "name" 매개변수는 생성하려는 태그의 이름입니다.

이 명령을 실행하면 시스템 기본 텍스트 편집기가 열리고 주석이 달린 태그에 대한 메시지를 삽입하라는 메시지가 표시됩니다. 이것은 앞서 논의한 바와 같이 주석이 달린 태그가 메시지와 함께 저장되기 때문에 발생합니다.

또는 태그를 직접 생성할 메시지를 지정할 수 있습니다. 다음 코드를 사용하여 수행할 수 있습니다.

git 태그 -a <이름> -m <메시지>

-m 태그는 주석이 달린 태그에 메시지를 추가하는 데 사용됩니다. "버전 1.9"라는 메시지와 함께 v1.9라는 태그를 생성한다고 가정합니다. 다음 코드를 사용하여 그렇게 할 수 있습니다.

git tag -a v1.9 -m "버전 1.9"

이 명령을 실행하면 "버전 1.9"라는 메시지와 함께 v1.9라는 태그가 생성됩니다.

이 명령을 실행하면 메시지 없이 git 태그를 사용하는 것보다 더 편리합니다. 이렇게 하면 커밋 메시지를 지정하지 않을 때 표시되는 기본 텍스트 편집기에 커밋 메시지를 입력하지 않고도 커밋 메시지를 직접 지정할 수 있기 때문입니다.

경량 태그

경량 태그를 생성하려면 앞서 논의한 표준 git 태그 구문을 사용해야 합니다. "v1.9.1"이라는 경량 태그를 생성한다고 가정합니다. 다음 코드를 사용하여 수행할 수 있습니다.

git 태그 v1.9.1

이 명령은 v1.9.1이라는 경량 태그를 생성합니다. 경량 태그를 생성할 때 태그 메시지를 지정할 필요가 없습니다. 대신 새 태그 체크섬이 생성되어 프로젝트의 .git 폴더에 저장됩니다.

프로젝트 태그 나열

대규모 프로젝트에서 작업할 때 리포지토리의 태그가 지정된 버전이 여러 개 있을 수 있습니다. 프로젝트와 함께 저장된 태그 목록을 검색하려면 다음 명령을 사용할 수 있습니다.

git 태그

이 명령은 태그 목록을 반환합니다. 다음은 이 명령의 출력 예입니다.

v1.9.1v1.9.0v1.8.11v1.8.10v1.8.9...

또한 -l 플래그를 사용하여 프로젝트에 사용된 태그를 필터링할 수 있습니다. 예를 들어, "v1.8"로 시작하는 모든 태그의 목록을 검색하려면 다음 코드를 사용할 수 있습니다.

git 태그 -l v1.8*

명령에서 -l 플래그를 지정한 다음 "v1.8*"을 지정했습니다. 이것은 v1.8로 시작하는 모든 태그 목록을 검색하도록 Git에 지시합니다. 별표(*)는 반환될 태그가 "v1.8" 이후의 모든 문자를 포함할 수 있음을 나타냅니다.

다음은 이 명령의 출력 예입니다.

v1.8.11v1.8.10v1.8.9v1.8.8...

보시다시피 반환된 모든 태그는 "v1.8"로 시작합니다.

태그 확인

git checkout 명령을 사용하여 특정 태그가 있는 커밋에서 리포지토리의 상태를 볼 수 있습니다. 예를 들어, v1.1에 있을 때 저장소를 보고 싶다고 가정합니다. 다음 코드를 사용하여 수행할 수 있습니다.

git checkout v1.1

이 명령은 리포지토리를 "분리된 HEAD" 상태로 이동합니다. 즉, 변경 사항이 리포지토리의 태그가 지정된 버전을 업데이트하지 않음을 의미합니다. 대신, 분기와 연결되지 않는 새로운 분리된 커밋이 생성됩니다.

이 명령을 실행한 후 v1.1 태그가 지정된 커밋에 코드베이스가 어떻게 나타나는지 확인할 수 있습니다.

이전 커밋에 태그 지정

이전 예에서 git tag 함수를 사용하여 작업 중인 git의 현재 버전에 태그를 추가하는 방법에 대해 논의했습니다. 이는 기본적으로 git 태그가 HEAD 커밋(현재 보고 있는 커밋)에 대한 태그를 생성하기 때문입니다.

그러나 git tag 명령을 사용하여 이전 커밋에 태그를 지정할 수도 있습니다. 태그를 추가하려는 특정 커밋의 참조를 지정하면 됩니다.

저장소의 마지막 커밋에 태그를 추가한다고 가정합니다. 그렇게 하려면 먼저 git log를 실행해야 합니다. 이렇게 하면 최근 커밋 목록을 검색할 수 있습니다. 다음은 실행 중인 git log 명령의 예입니다(-pretty=oneline 플래그를 사용하여 커밋을 쉽게 볼 수 있음).

git log --pretty=oneline

우리의 명령은 다음을 반환합니다:

8cd29ae5d04abbdbd856d2c2f55f2b82133903e8 새로운 로깅 기능 푸시2911aae73ed1dd372bcdf8f520b174c3817c818b 로깅 기능 초기화9646aa705211 

이제 "Fix issue #342" 커밋에 태그를 추가하려고 한다고 가정합니다. 우리는 이 태그를 "v1.3"이라고 부르기를 원합니다. 다음 코드를 사용하여 이 태그를 추가할 수 있습니다.

git 태그 -a v1.3 9646aa785211f3069ce01177da98e23b7890d859

이 명령은 코드에서 참조한 커밋에 태그 1.3을 추가합니다. 이 경우 "Fix issue #342"라는 메시지와 함께 커밋에 대한 SHA 해시를 지정했습니다.

이전 태그 교체

각 커밋에는 하나의 태그만 있을 수 있습니다. 커밋과 연결된 태그를 다른 태그로 교체하려는 경우 git 태그를 사용하여 교체할 수 있습니다. 그러나 기존 태그를 재정의하는 -f(강제) 옵션을 지정해야 합니다.

이전 예제에서 논의한 커밋에 "v1.3.1" 태그를 추가하고 싶다고 가정합니다. -f 플래그를 사용하지 않고 그렇게 하려고 하면 오류 메시지가 나타납니다. 이전 커밋에 "v1.3.1" 태그를 추가하려면 다음 명령을 사용할 수 있습니다.

git 태그 -a -f v1.3.1 9646aa785211f3069ce01177da98e23b7890d859

이 명령은 커밋에 "v1.3.1" 태그를 추가하고 이전에 있던 "v1.3" 태그를 재정의합니다.

태그 삭제

git을 사용하여 태그를 삭제하려면 -d 플래그를 사용할 수 있습니다. 저장소에서 "v1.3" 태그를 삭제한다고 가정합니다. 다음 코드를 사용하여 그렇게 할 수 있습니다.

git 태그 -d v1.3git 태그

코드 반환:

v1.4v1.2v1.1

첫 번째 명령은 저장소에서 태그 v1.3을 삭제합니다. 두 번째 명령은 태그 목록을 반환합니다. 보시다시피 태그 목록을 검색할 때 태그 v1.3이 누락되었습니다. -d 플래그를 사용하여 태그를 삭제했기 때문입니다.

결론

태그 지정은 개발자가 Git 저장소의 다른 버전을 추적하는 데 사용하는 Git의 중요한 기능입니다. 태그는 개발자가 보고 있는 현재 커밋이나 저장소의 기존 커밋에 추가할 수 있습니다.

이 자습서에서는 Git에서 태그 지정의 기본 사항과 Git tag 명령을 사용하는 방법을 예제와 함께 설명했습니다. 이제 전문 개발자처럼 git tag 명령을 사용할 준비가 되었습니다!