programing

Push git 커밋과 태그를 동시에 적용

showcode 2023. 4. 15. 09:39
반응형

Push git 커밋과 태그를 동시에 적용

git push --tags 、 is is to is 。git push태그를 누르는 것은 실수로 잘못된 태그를 누르는 것을 피하기 위한 의식적인 선택이기 때문입니다. 으로 둘 다 수 있을까요?'/'는 '/'는 '/'는 '/' )git push && git push --tags을 사용하다

2020년 8월 갱신

원래 SoBeRich의 답변과 git 2.4.x의 제 답변에서 언급한 바와 같이

git push --atomic origin <branch name> <tag>

(주의: 이것은 실제로 HTTPS에서만 Git 2.24에서만 작동합니다.)

2015년 5월 갱신

git 2.4.1에서 다음 작업을 수행할 수 있습니다.

git config --global push.followTags true

로는 true --follow-tags 경우 는 --follow-tags 옵션을 사용합니다.
--no-follow-mailing-mailing-mailing-mething-mething-mething-mething-mething-mething-mething-mething-mething-mething-method.

Matt Rogers가 Wes Hurd에 답한 내용은 다음과 같습니다.

--follow-tags 는 주석이 달린 태그만 푸시합니다.

git tag -a -m "I'm an annotation" <tagname>

이다.git tag <tagname>(여기서 말한 것처럼, 누르지 않는 경량 태그)

2013년 4월 갱신

git 1.8.3(2013년 4월 22일) 이후 브랜치를 푸시하고 태그를 푸시하기 위해 2개의 명령을 수행할 필요가 없어졌습니다.

새운 " " " " the--follow-tags은 " " " " " " " "를 말합니다git push" 브랜치를 푸시할관련 주석 태그를 푸시합니다.

이제 새 커밋을 푸시할 때 다음을 시도할 수 있습니다.

git push --follow-tags

단, 모든 로컬태그가 푸시되는 것은 아닙니다.커밋에 의해 참조되는 태그만git push.

2.+ (2015년는 옵션 Git 2.4.1+ (2015년 2분기)를 합니다.push.followTags: "브런치 내에 태그를 포함시키는 git push방법"을 참조하십시오.

원답(2010년 9월)

은 ★★★★★★★★★★★★★★★★★★★★★.git push --mirror모든 참조가 아래쪽으로 푸시됩니다.refs/.

또, 현재의 브랜치 커밋에서는, 다음의 1개의 태그만을 푸시 할 수 있습니다.

git push origin : v1.0.0 

같이 쓸 수 요.--tags재스펙하다

git push origin --tags :

)--tags " " " 아래의 모든 : " " " "refs/tags명령줄명시적으로 나열된 리스펙과 더불어 푸시됩니다.)


또한 "단일 "git push" 호출로 브랜치태그 푸시" 항목이 있습니다.

편리한 힌트가 Zoltahn Füzesi에 의해 Git 메일링 리스트에 게재되었습니다.

용 i i i i를 쓴다..git/config하려면: "이것"을 클릭합니다.

[remote "origin"]
    url = ...
    fetch = +refs/heads/*:refs/remotes/origin/*
    push = +refs/heads/*
    push = +refs/tags/*

을 더하면요.git push origin모든 브랜치 및 태그가 업로드 됩니다.일부만 업로드하려는 경우 열거할 수 있습니다.

아직 직접 시도해 본 적은 없지만, git push에 브랜치와 태그를 동시에 누르는 다른 방법이 추가되기 전까지는 유용할 것 같습니다.
한편, 다음과 같이 입력해도 상관없습니다.

$ git push && git push --tags

Aseem Kishore의 코멘트대로 주의주십시오.

push = +refs/heads/*모든 가지를 강제로 제거해 줍니다.

방금 물어뜯었으니까 참고하세요.


René Scheibe는 다음과 같은 흥미로운 코멘트를 덧붙입니다.

--follow-tags파라미터가 태그만 표시되므로 오해의 소지가 있습니다..git/refs/tags고려되고 있습니다.
한다면git gc실행되면 태그가 이동됩니다..git/refs/tags로..git/packed-refs그 후git push --follow-tags ...가 예상대로 작동하지 않게 되었습니다.

Git 2.4 이후:

git push --atomic origin <branch name> <tag>

github에 새로운 레포(repo)를 생성했다고 가정해 보겠습니다.따라서 첫 번째 단계는 repo를 복제하는 것입니다.git clone {Your Repo URL}

작업을 수행하고 일부 파일, 코드 등을 추가한 후 다음과 같이 변경을 적용합니다.

git add .
git commit -m "first commit"
git push

이제 우리의 변경은 본점에 있습니다.태그를 만듭니다.

git tag v1.0.0                    # creates tag locally     
git push origin v1.0.0            # pushes tag to remote

태그를 삭제하는 경우:

git tag --delete v1.0.0           # deletes tag locally    
git push --delete origin v1.0.0   # deletes remote tag

git 2.31.0에서 방금 테스트했습니다.git push <refspec> --tags이 기능은 다음과 같은 주석이 달린 태그뿐만 아니라 모든 태그를 푸시할 수 있다는 장점이 있습니다.--follow-tags.

Gitlab에서 동일한 커밋에 대해 두 개의 CI 빌드가 트리거되지 않도록 하려면:

git push -o ci.skip && git push --tags

여기서 @user1160006이 제안하는 바와 같이.

Git GUI

Git GUI에는 PUSH 버튼이 있습니다. - PUNK을 용서하십시오.이 버튼이 열리는 대화상자에는 태그 체크박스가 있습니다.

태그 없이 명령줄에서 브랜치를 푸시한 후 다시 브랜치를 푸시하여--follow-tags옵션은 위에서 설명한 바와 같습니다.이 옵션은 주석이 달린 태그로 설명됩니다.내 태그는 단순한 태그였다.

저는 무언가를 수정하고 수정 내용을 포함한 커밋에 태그를 붙인 후(동료들이 수정 내용을 선택할 수 있도록), 소프트웨어 버전 번호를 변경하고 제가 작성한 릴리스에 태그를 붙였습니다(동료들이 해당 릴리스를 복제할 수 있도록).

Git은 모든 것이 최신이라고 말했다.태그를 보내지 않았습니다!아마도 태그에 주석이 붙어있지 않아서 그럴거야.지점에 새로운 것이 없었기 때문인지도 모른다.

Git GUI에서 같은 푸시를 했을 때 태그가 전송되었습니다.

Git GUI와 함께 전송되는 태그

당분간은 명령줄이 아닌 Git GUI를 사용하여 리모트 변경을 푸시할 예정입니다.--follow-tags.

언급URL : https://stackoverflow.com/questions/3745135/push-git-commits-tags-simultaneously

반응형