it-swarm.dev

Git을 사용하여 태그를 원격 저장소에 푸시하는 방법은 무엇입니까?

내 랩톱에 원격 Git 저장소를 복제 한 다음 태그를 추가하여 실행했습니다.

git tag mytag master

내 노트북에서 git tag를 실행하면 mytag 태그가 표시됩니다. 그런 다음이 태그를 원격 저장소에 푸시하여 모든 클라이언트에이 태그가 있으므로 git Push를 실행하지만 메시지가 나타납니다.

최신 정보

바탕 화면으로 가서 git pull를 실행 한 다음 git tag를 실행하면 태그가 표시되지 않습니다.

또한 프로젝트의 파일을 사소한 변경을 시도한 다음 서버로 밀어 넣습니다. 그 후에 서버에서 내 데스크톱 컴퓨터로 변경 사항을 가져올 수 있지만 데스크톱 컴퓨터에서 git tag를 실행할 때 태그가 없습니다.

내 태그를 원격 저장소에 푸시하여 모든 클라이언트 컴퓨터에서 태그를 볼 수 있습니까?

1912
Jonas

단일 태그를 푸시하려면 다음을 수행하십시오.

git Push Origin <tag_name>

다음 명령은 all 태그를 푸시해야합니다 (권장하지 않음).

git Push --tags
3164
Trevor

git Push --follow-tags

이것은 Git 1.8.3에서 처음 소개되었습니다.

git Push --follow-tags

두 커밋과 두 태그 만 푸시합니다.

  • 주석이 달린
  • 푸시 된 커밋에서 도달 가능한 (조상)

왜냐하면 다음과 같은 이유 때문입니다.

--tags를 피해야하는 이유가 있습니다.

Git 2.4 이 추가되었습니다Push.followTags 옵션을 사용하여 설정할 수있는 플래그를 기본적으로 켭니다.

git config --global Push.followTags true

특정 태그를 푸시하려면 한 태그가 다음을 수행합니다 git Push Origin tag_name

243
solgar

Trevor 's answer 에서 확장하려면 한 번에 하나의 태그 또는 모든 태그를 푸시 할 수 있습니다.

단일 태그 푸시

git Push <remote> <tag>

이것은 이것을 설명하는 관련 문서 요약입니다 (간략하게 생략 된 명령 옵션 일부).

git Push [[<repository> [<refspec>…]]

<refspec>...

<refspec> 매개 변수의 형식은 ... 소스 ref <src> 다음에 콜론 : 다음에 대상 ref <dst>가옵니다.

<dst>는 원격 측에서이 푸시로 업데이트되는 ref를 알려줍니다 ... :<dst>가 생략되면 <src>와 동일한 참조가 업데이트됩니다 ...

태그 <tag>refs/tags/<tag>:refs/tags/<tag>와 같은 의미입니다.

한 번에 모든 태그 푸시

git Push --tags <remote>
# Or
git Push <remote> --tags

관련 문서 (요약을 위해 생략 된 일부 명령 옵션)의 요약은 다음과 같습니다.

git Push [--all | --mirror | --tags] [<repository> [<refspec>…]]

--tags

명령 행에 명시 적으로 나열된 refspec 이외에 refs/tags 아래의 모든 참조가 푸시됩니다.

87
user456814

태그는 git Push 명령에 의해 원격 저장소로 보내지지 않습니다. 다음 명령을 사용하여 이러한 태그를 원격 서버에 명시 적으로 보내야합니다.

git Push Origin <tagname>

아래 명령을 사용하여 모든 태그를 한 번에 푸시 할 수 있습니다.

git Push Origin --tags

Git 태그 지정에 대한 자세한 내용은 다음과 같습니다.

http://www.cubearticle.com/articles/more/git/git-tag

http://wptheming.com/2011/04/add-remove-github-tags

47
Ashutosh Meher

이렇게 태그를 밀어 넣을 수 있습니다 git Push --tags

45

git Push --tags 명령으로 로컬 태그를 푸시 할 수 있습니다.

$ git tag                         # see tag lists
$ git Push Origin <tag-name>      # Push a single tag
$ git Push --tags                 # Push all local tags 
22
Sajib Khan

나는 태그를 밀고 있는지 확인하기 위해 git Push <remote-name> tag <tag-name>를 사용하고 있습니다. 나는 그것을 다음과 같이 사용한다 : git Push Origin tag v1.0.1. 이 패턴은 설명서 (man git-Push)를 기반으로합니다.

OPTIONS
   ...
   <refspec>...
       ...
       tag <tag> means the same as refs/tags/<tag>:refs/tags/<tag>.
6
Carl G