如何从标签创建新分支?

时间:2012-06-07 22:55:09

标签: git git-branch git-tag

我想从现有标签创建一个新的主分支。假设我有一个标签v1.0。如何从这个标签创建一个新的分支?

7 个答案:

答案 0 :(得分:741)

哇,这比我想象的容易:

git checkout -b newbranch v1.0

答案 1 :(得分:78)

如果您只是想创建一个新分支而不立即更改它,您可以执行以下操作:

git branch newbranch v1.0

答案 2 :(得分:18)

我使用以下步骤从标签创建新的热修复分支。

语法

  

git checkout -b <新分支名称>

执行步骤。

  1. git checkout -b NewBranchName v1.0
  2. 更改pom /发布版本
  3. 阶段变更
  4. git commit -m“为修补程序分支更新pom版本”
  5. 最后将您新创建的分支推送到远程存储库。
  

git push -u origin NewBranchName

我希望这会有所帮助。

答案 3 :(得分:15)

我已解决了以下问题 1.从您的分支机构获取标签 2.写下面的命令

Example: git branch <Hotfix branch> <TAG>
    git branch hotfix_4.4.3 v4.4.3
    git checkout hotfix_4.4.3

或者您可以使用其他命令

git checkout -b <Hotfix branch> <TAG>
-b stands for creating new branch to local 

一旦准备好了修补程序分支,现在是时候将该分支移动到github了,你可以通过编写下面的命令来实现这一点

git push --set-upstream origin hotfix_4.4.3

答案 4 :(得分:4)

如果我们想从具有相同名称的标签 中创建分支,情况将变得有些问题。

在这种情况下和类似情况下,重要的是要知道:分支和标记实际上是.git/refs目录中的单行文本文件,我们可以使用{{1}下的路径明确引用它们。 }。分支在这里被称为“元首”,以使我们的生活更简单。

因此,.gitrefs/heads/master分支的真实的显式名称。并且master是名为refs/tags/cica的标签的确切名称。

从名为cica的标记创建名为cica的分支的正确命令是:

cica

答案 5 :(得分:3)

我的分支列表(现在只有

branch list

我的标签列表(有三个标签)

tag list

opus_codec 标记切换到新分支功能/编解码器

git checkout -b feature/codec opus_codec

switch to branch

答案 6 :(得分:1)

在用叉的简单用例中,唯一可行的解​​决方案的一个例子,我想在主存储库(此处为上游)的标签上签出新分支

git fetch upstream --tags

给我

From https://github.com/keycloak/keycloak
   90b29b0e31..0ba9055d28  stage      -> upstream/stage
 * [new tag]    11.0.0     -> 11.0.0

然后我可以从该标签创建一个新分支并在其上签出

git checkout -b tags/<name> <newbranch>

git checkout tags/11.0.0 -b v11.0.0