如何将git标记合并到分支上


155

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

Answers:


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标签标识特定的提交。您无法合并到特定的提交中,因此需要将标签移至所需的提交中。:这将解决对该怎么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/repogit fetch --tags upstream是使其生效。
MarkHu '17


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)创建请求请求,以与新分支合并到目标分支

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.