gitタグをブランチにマージする方法


155

タグ付きコミットを別のブランチにマージするための構文を見つけようとしています。私はそれが簡単だと思いますが、私の弱々しい検索の試みはそれを見つけていません。

回答:


260

あなたはこれを意味しますか?

git checkout destination_branch
git merge tag_name

11
ここでも同じなので、私はgit fetch --tags originを使用して次のことができます:git merge tagname
Will Hancock

すべてのタグを一度にマージする方法はありますか?
ComFreek

逆は可能ですか?ブランチをタグにマージしますか?「git checkout tag_name」と「git merge branch」を試してみました。しかし、マージする代わりにブランチをチェックアウトすることになりました。
学習者

@learner aタグは特定のコミットを識別します。特定のコミットにマージできないため、必要なコミットにタグを移動する必要があります。:これは、その上のどのように対処うstackoverflow.com/questions/8044583/...
ジョサイア

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.