랩톱에 원격 Git 리포지토리를 복제 한 다음 태그를 추가하고 싶었습니다.
git tag mytag master
git tag
랩톱에서 실행할 때 태그 mytag
가 표시됩니다. 그런 다음이를 원격 저장소로 푸시하여 모든 클라이언트 에이 태그가 있으므로 실행 git push
하지만 메시지가 나타납니다.
최신의 모든 것
데스크톱으로 가서 실행 git pull
하면 git tag
태그가 표시되지 않습니다.
또한 프로젝트의 파일을 약간 변경 한 다음 서버로 푸시하려고했습니다. 그 후 서버에서 데스크탑 컴퓨터로 변경 사항을 가져올 수 있지만 데스크탑 컴퓨터에서 실행할 때 여전히 태그가 없습니다 git tag
.
모든 클라이언트 컴퓨터가 볼 수 있도록 태그를 원격 저장소로 푸시하려면 어떻게해야합니까?
답변
git push --follow-tags
이것은 Git 1.8.3에 도입 된 제정신 옵션입니다.
git push --follow-tags
커밋과 둘 다 태그 만 푸시합니다.
- 주석이 달린
- 푸시 된 커밋에서 도달 가능 (조상)
이것은 다음과 같은 이유로 제정신입니다.
- 주석이 달린 태그 만 리모콘에 밀어 넣고 로컬 태그가 충돌하지 않도록 경량 태그를 유지해야합니다. 참조 : 주석과 주석이 달려 있지 않은 태그의 차이점은 무엇입니까?
- 관련없는 브랜치에 주석이 달린 태그를 푸시하지 않습니다.
--tags
피해야 할 이유는 바로이 때문입니다.
망할 놈의 2.4 추가했다push.followTags
당신이 설정할 수 있습니다 기본적으로에이 플래그를 설정하는 옵션 :
git config --global push.followTags true
답변
단일 태그 를 푸시하려면
git push origin <tag_name>
그리고 다음 명령은 모든 태그를 푸시 해야 합니다 ( 권장되지 않음 ).
git push --tags
답변
구체적으로 말하면, 하나의 태그는 다음을 수행합니다.
git push origin tag_name
답변
Trevor의 답변 을 확장하려면 단일 태그 또는 모든 태그를 한 번에 푸시하면됩니다.
단일 태그를 밀어
git push <remote> <tag>
다음은이 를 설명 하는 관련 문서 의 요약입니다 (간단하게하기 위해 일부 명령 옵션은 생략 됨).
git push [[<repository> [<refspec>…]] <refspec>...
<refspec>
매개 변수 의 형식 은… 소스 ref<src>
, 콜론:
, 목적지 ref<dst>
…입니다.(가)
<dst>
이 푸시 업데이트되는 원격지에있는 REF 말한다 … 경우는:<dst>
생략 같은 REF<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
refs/tags
명령 행에 명시 적으로 나열된 참조 스펙 외에 모든 참조 가 푸시됩니다.
답변
git push 명령으로 태그가 원격 저장소로 전송되지 않습니다. 다음 명령을 사용하여 이러한 태그를 원격 서버로 명시 적으로 보내야합니다.
git push origin <tagname>
아래 명령을 사용하여 모든 태그를 한 번에 푸시 할 수 있습니다.
git push origin --tags
git 태그 지정에 대한 자세한 내용은 다음 리소스를 참조하십시오.
답변
단순히 git push --tags
명령으로 모든 로컬 태그를 푸시 할 수 있습니다 .
$ git tag # see tag lists
$ git push origin <tag-name> # push a single tag
$ git push --tags # push all local tags
답변
이런 식으로 태그를 밀어 넣을 수 있습니다 git push --tags