673

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

4

7 回答 7

1080

哇,这比我想象的要容易:

git checkout -b newbranch v1.0
于 2012-06-07T22:57:40.197 回答
127

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

git branch newbranch v1.0
于 2014-10-16T05:41:00.017 回答
98

我使用以下步骤从标签创建新的修补程序分支。

句法

git checkout -b <New Branch Name> <TAG Name>

步骤来做到这一点。

  1. git checkout -b NewBranchName v1.0
  2. 更改 pom / release 版本
  3. 阶段变化
  4. git commit -m "Update pom versions for Hotfix branch"
  5. 最后将您新创建的分支推送到远程存储库。
git push -u origin NewBranchName

我希望这会有所帮助。

于 2018-10-25T14:38:00.917 回答
18

我已经解决了以下问题 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
于 2017-07-10T05:22:09.720 回答
8

如果我们想从同名的标签创建分支,情况就会变得有点问题。

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

因此,refs/heads/mastermaster分支的真实、明确的名称。并且refs/tags/cica是名为 的标签的确切名称cica

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

git branch cica refs/tags/cica
于 2019-01-15T09:31:04.483 回答
6

在简单的用例中唯一适用于我的解决方案示例,我在分叉上,我想从主项目存储库(此处为上游)上的标记中签出新分支

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
于 2020-07-28T20:28:18.587 回答
3

我的分支列表(现在只有master

分支列表

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

标签列表

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

git checkout -b feature/codec opus_codec

切换到分支

于 2017-04-02T06:54:05.137 回答