GitHub 리포지토리에 태그 생성


907

GitHub에 저장소가 있으며 태그지정 해야합니다.
쉘에 태그를 붙 였지만 GitHub 에 표시되지 않습니다.

다른 일을해야합니까?

쉘에서 사용한 명령은 다음과 같습니다.

git tag 2.0

그리고 지금 입력 git tag하면 다음과 같이 표시됩니다.

2.0

태그가있는 것 같습니다. 맞습니까?

저장소는 https://github.com/keevitaja/myseo-pyrocms 입니다.

이 태그를 GitHub에 표시하려면 어떻게합니까? 내 태그는 어디에 있습니까?


2
태그를 리포지토리에 푸시해야합니다. git 태그를 사용하는 것은 git 브랜치와 동일하므로 태그를 생성 / 추가하고 태그를 리포지토리에 푸시하여 모든 사람이 가져올 수 있습니다. 보다 기본에서 고급까지, 다음은 참조 abhisheksharma.online/git-tags
Abhishek Sharma

답변:


1493

다음을 사용하여 GitHub에 대한 태그를 생성 할 수 있습니다.

  • Git 명령 행 또는
  • GitHub의 웹 인터페이스.

명령 행에서 태그 작성

현재 브랜치에서 태그를 만들려면 다음을 실행하십시오.

git tag <tagname>

태그에 설명을 포함 -a하려면 주석이 달린 태그 를 작성하여 추가하십시오 .

git tag <tagname> -a

그러면 local현재 지점의 현재 상태가 포함 된 태그 가 생성 됩니다. 원격 저장소로 푸시 할 때 태그는 기본적으로 포함되지 않습니다. 태그를 원격 저장소로 푸시한다고 명시 적으로 말해야합니다.

git push origin --tags

로부터 공식 리눅스 커널 힘내 문서git push :

--tags

참조 / 태그 아래의 모든 참조는 명령 행에 명시 적으로 나열된 참조 스펙 외에 푸시됩니다.

또는 단일 태그를 푸시하려는 경우 :

git push origin <tag>

또한 Git을 사용하여 태그를 원격 저장소어떻게 푸시합니까? 위의 구문에 대한 자세한 내용은.

GitHub의 웹 인터페이스를 통한 태그 생성

이에 대한 GitHub의 지침은 릴리스 만들기 도움말 페이지 에서 찾을 수 있습니다 . 요약은 다음과 같습니다.

  1. 저장소 페이지 에서 릴리스 링크를 클릭 하십시오.

    스크린 샷 1

  2. 를 클릭하면 새 릴리스를 작성 하거나 새 릴리스 초안 ,

    스크린 샷 2

  3. 양식 입력란을 작성한 다음 하단에서 출시 공개 를 클릭 합니다.

    스크린 샷 3 스크린 샷 4

  4. GitHub에서 태그를 생성 한 후에는 로컬 리포지토리로 태그를 가져올 수도 있습니다.

    git fetch
    

다음에 웹 사이트의 동일한 릴리스에서 하나 이상의 태그를 만들 수 있습니다. 이를 위해 다음 단계를 따르십시오.

릴리스 탭으로 이동

  1. 릴리스의 편집 버튼을 클릭하십시오

  2. 새 태그 ABC_DEF_V_5_3_T_2의 이름을 입력하고 탭을 누르십시오.

  3. 탭을 누르면 UI에 다음 메시지가 표시됩니다. 훌륭합니다! 이 태그는이 릴리스를 게시 할 때 대상에서 작성됩니다. 또한 UI는 분기 / 커밋을 선택하는 옵션을 제공합니다

  4. 지점 또는 커밋 선택

  5. qa 태그에 대해 "이것은 시험판입니다"확인란을 선택하고 태그가 Prod 태그에 대해 생성 된 경우 선택을 취소하십시오.

  6. 그 후 "업데이트 릴리스"를 클릭하십시오

  7. 기존 릴리스 내에 새 태그가 생성됩니다.


8
github의 @RandomDSdevel, release는 태그입니다. 명령 행에서 태그를 생성하여 github remote로 푸시 할 수 있습니다. 태그는 githubs 웹 페이지에서 릴리스로 나타납니다.
Iuri G.

6
@IuriG .: 글쎄요.하지만 GitHub에서 릴리스로 자동 선택하지 않는 태그를 만들 수는 없습니까? (귀하가 응답 한 의견 과이 답변 답변 인 댓글을 처음 만들었을 때 , 적어도 여전히 사용중인 태그 인지는 알 수 없지만 태그 가 자동으로 출시 되는 데 사용 되었습니다. 나는 이것이 더 이상 사실이 아니라는 귀하의 답변 힌트에 설명 된 워크 플로로 진행합니다.이 문제에 대해 GitHub에 지원 요청을 제출했지만 그 당시에는 약간의 지원 백 로그가 있었기 때문에 요청이 마감되었습니다.)
RandomDSdevel

Fitw는 Github 웹 인터페이스 경로의 경우 1 단계에서 릴리스 링크를 클릭 한 후 새 릴리스 작성 또는 초안 단추를 볼 수 없습니다.
Snowcrash

2
Github 인터페이스를 통해 경량 태그 만 만들 수 있습니다.
Anatolii Stepaniuk

2
불행히도, github 인터페이스는 지난 24 시간 또는 마지막 10 (? 정도) 커밋이 아닌 한 커밋에 태그를 지정할 수 없습니다.
tsalaroth

86

태그 생성

Git은 경량주석 의 두 가지 주요 태그 유형을 사용합니다 .

주석이 달린 태그 :

Git에서 주석이 달린 태그를 만들려면 터미널에서 다음과 같은 간단한 명령을 실행하면됩니다.

$ git tag -a v2.1.0 -m "xyz feature is released in this tag."
$ git tag
v1.0.0
v2.0.0
v2.1.0

-m은 해당 특정 태그에 대한 메시지를 나타냅니다. 여기에 태그를 지정할 기능의 요약을 작성할 수 있습니다.

경량 태그 :

커밋에 태그를 지정하는 다른 방법은 경량 태그입니다. 다음과 같은 방법으로 할 수 있습니다.

$ git tag v2.1.0
$ git tag
v1.0.0
v2.0.0
v2.1.0

푸시 태그

특정 태그를 푸시하려면 아래 명령을 사용할 수 있습니다.

git push origin v1.0.3

또는 모든 태그를 푸시하려면 아래 명령을 사용하십시오.

git push --tags

모든 태그 나열 :

모든 태그를 나열하려면 다음 명령을 사용하십시오.

git tag

태그를 추가하기 전에 또는 뒤에 태그를 추가 git commit합니까?
garfbradaz

git commit 후 태그를 추가했습니다.
Lawakush Kurmi

65

git tag 2.0명령 을 실행 한 후 태그를 푸시하면 됩니다.

그러니 그냥 할 git push --tags지금.


40
오히려 git push v2.0대신 사용 하는 것이 좋습니다 --tags. 푸시해서는 안되는 다른 태그가있을 수 있습니다.
tschoppi

1
로컬 태그가 원격 태그와 다른 경우에만 문제가됩니다. 문제가된다면 동기화가 쉽습니다.
kjdion84

1
@ kjdion84 아니요, 쓸모없는 태그가있는 경우에도 문제가됩니다. 모든 태그는 항상 가져오고 누군가가을 사용할 때는 --tags제거하기가 어렵습니다.
maaartinus

2
또는git push origin v2.0
prayagupd

태그를 잘못 사용했습니다!
User3

9

주의 : Lawakush Kurmi의 답변 ( git tag -a v1.0) 에있는 명령에서 -a플래그가 사용됩니다. 이 플래그는 Git에게 주석이 달린 플래그를 만들도록 지시합니다. 플래그 ( i.e. git tag v1.0)를 제공하지 않으면 경량 태그가 생성됩니다.


주석이 달린 태그는 다음과 같은 많은 추가 정보를 포함하므로 권장됩니다.

  • 태그를 만든 사람
  • 태그가 만들어진 날짜
  • 태그에 대한 메시지

이 때문에 항상 주석이 달린 태그를 사용해야합니다.


3

생성하려는 태그 유형에 따라 다릅니다.

  • 주석이 달린 태그를 작성하고 추가 메타 데이터를 표시하려면 다음과 같은 방법으로 수행 할 수 있습니다. git tag -a v1.0.0 ..
  • 반면에 경량 태그는 커밋을 개인 용도로 "책갈피"하는 데 사용됩니다 git tag v1.0.0.

다음과 같은 몇 가지 다른 태그 기능이 있습니다.

  • 태그 나열- git tag -l -n3 . 이 명령은 기존의 모든 태그를 태그 메시지의 최대 3 줄로 나열합니다. 기본적으로 -n은 첫 번째 행만 표시합니다.
  • 태그 세부 사항- git show <tag_identifier> . 특정 태그에 대해 알아야 할 모든 것을 보여줍니다.
  • 태그 정렬- git tag --sort=<type>
  • 태그 게시- git push origin v1.0 . 태그를 개별적으로 git push하거나 git push --tags를 실행하여 모든 태그를 한 번에 푸시 할 수 있습니다.

자세한 내용 은 이 태그 관련 기사 를 확인 하십시오.


3

소스 트리 사용

master에서 빌드를 릴리스 할 때 GitHub 태그 를 작성하는 간단한 단계는 다음과 같습니다 .

  1. source_tree 탭 열기

    1 단계

  2. 왼쪽 탐색 섹션에 나타나는 태그에서 태그 섹션을 마우스 오른쪽 버튼으로 클릭하십시오.

    2 단계

  3. New Tag ()를 클릭하십시오

  4. 태그 추가 및 태그 제거 대화 상자가 나타납니다
  5. 이름에서 태그로 태그 추가를 클릭하십시오 (코드의 기본 버전 이름)

    3 단계

  6. TAG 참조를 생성하는 동안 원격에서 TAG를 푸시하려는 경우 : 5 단계 체크 박스를 통해 TAG를 원점으로 푸시 하고 푸시 한 태그가 원격 저장소에 나타납니다.

  7. TAG를 생성하는 동안 Push to origin 확인란을 잊어 버린 경우 나중에 생성 된 TAG를 마우스 오른쪽 버튼으로 클릭하고 Push to origin을 클릭하여 태그를 생성 할 수 있습니다 . 여기에 이미지 설명을 입력하십시오


2
이 답변은 소스 트리를 사용하여 로컬 태그를 만드는 방법을 설명하지만 태그를 원격 저장소 (이 경우 GitHub)로 푸시하는 방법에 대한 질문입니다. 6 단계에서이 작업을 수행하라고 지시하지만 지침은 생략했습니다.
Rory O'Kane

@ RoryO'Kane 지금 확인하십시오. 답변을 업데이트했습니다. 지적 해 주셔서 감사합니다
Suresh Maidaragi

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.