如何从标签创建一个新分支?

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

488723 次浏览

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

git checkout -b newbranch v1.0

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

git branch newbranch v1.0

我的分支列表(现在只有大师

分支列表

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

标签列表

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

我使用以下步骤从Tag创建一个新的热修复分支。

语法

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

步骤去做。

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

我希望这会有帮助。

如果我们想从标签用同样的名字创建一个分支,这种情况就会有点问题。

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

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

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

git branch cica refs/tags/cica

在简单的用例中,我在一个分叉上,我想从主项目存储库(这里是上游)上的标签中签出一个新分支,这是唯一适合我的解决方案的示例

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

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

git switch -C branch tag