我试图找到合并标记提交到另一个分支的语法。我猜它是直接的,但我微弱的搜索尝试没有找到它。


当前回答

记住,在你合并之前,你需要更新标签,这与分支完全不同(git pull origin tag_name不会更新你的本地标签)。因此,您需要执行以下命令:

git fetch --tags origin

然后,您可以执行git merge tag_name将标记合并到一个分支上。

其他回答

你是说这个?

git checkout destination_branch
git merge tag_name

记住,在你合并之前,你需要更新标签,这与分支完全不同(git pull origin tag_name不会更新你的本地标签)。因此,您需要执行以下命令:

git fetch --tags origin

然后,您可以执行git merge tag_name将标记合并到一个分支上。

这是我找到的唯一全面可靠的方法。

假设你想将“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

只是补充答案。

合并分支上的最后一个标签:

git checkout my-branch
git merge $(git describe --tags $(git rev-list --tags --max-count=1))

灵感来自https://gist.github.com/rponte/fdc0724dd984088606b0

我说得有点晚了,但另一种方法可能是:

1)从标签中创建一个分支($ git checkout -b[新分支名称][标签名称])

2)创建一个pull-request,将新分支合并到目标分支中