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


当前回答

在写这个答案的时候,最新的git惯用用法是这个命令:

git switch -C branch tag

其他回答

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

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

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

git checkout -b feature/codec opus_codec

我已经解决了以下问题 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

哇,这比我想象的要简单

git checkout -b newbranch v1.0

在写这个答案的时候,最新的git惯用用法是这个命令:

git switch -C branch tag

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

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

因此,refs/heads/master是主分支的真实的、显式的名称。而refs/tags/cica是cica标签的确切名称。

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

git branch cica refs/tags/cica