git 태그를 브랜치에 병합하는 방법


155

태그가 지정된 커밋을 다른 브랜치에 병합하는 구문을 찾으려고합니다. 나는 그것이 직설적이지만 내 연약한 검색 시도가 그것을 찾지 못한다고 추측하고 있습니다.

답변:


260

당신은 이것을 의미합니까?

git checkout destination_branch
git merge tag_name

11
git fetch --tags origin git fetch merge 태그 이름
Will Hancock

모든 태그를 한 번에 병합하는 방법이 있습니까?
ComFreek

다른 방법으로 가능합니까? 분기를 태그에 병합 하시겠습니까? "git checkout tag_name"과 "git merge branch"를 시도했습니다. 그러나 합병 대신 지점을 확인했습니다.
학습자

@learner a 태그는 특정 커밋을 식별합니다. 특정 커밋으로 병합 할 수 없으므로 태그를 원하는 커밋으로 이동해야합니다. 이 문제를 해결하는 방법은 다음과 같습니다. stackoverflow.com/questions/8044583/…
Josiah

85

병합하기 전에 태그를 업데이트해야한다는 점을 기억하십시오. 이는 태그와 매우 다릅니다 ( git pull origin tag_name로컬 태그는 업데이트하지 않음). 따라서 다음 명령이 필요합니다.

git fetch --tags origin

그런 다음 git merge tag_name태그를 지점에 병합 하도록 수행 할 수 있습니다 .


4
나는 그것을 작동시키기 위해 git remote add upstream git@github.com/org/repo따라야했다 git fetch --tags upstream.
MarkHu


1

이것이 내가 찾은 유일한 포괄적이고 안정적인 방법입니다.

"tag_1.0"을 "mybranch"로 병합한다고 가정하십시오.

    $git checkout tag_1.0 (will create a headless branch)
    $git branch -D tagbranch (make sure this branch doesn't already exist locally)
    $git checkout -b tagbranch
    $git merge -s ours mybranch
    $git commit -am "updated mybranch with tag_1.0"
    $git checkout mybranch
    $git merge tagbranch

0

나는 여기서 게임에 늦었지만 다른 접근법은 다음과 같습니다.

1) 태그에서 분기를 만듭니다 ( $ git checkout -b [new branch name] [tag name])

2) 새 분기와 대상 분기로 병합하기위한 풀 요청을 작성하십시오.

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