Git 如何从标记创建新分支?

Git 如何从标记创建新分支?,git,git-branch,git-tag,Git,Git Branch,Git Tag,我想从现有标记创建一个新的主分支。假设我有一个标签v1.0。如何从这个标签创建一个新的分支?哇,这比我想象的要容易: git checkout -b newbranch v1.0 如果只想创建一个新分支而不立即更改,可以执行以下操作: git branch newbranch v1.0 我的分支列表(现在仅主分支) 我的标签列表(有三个标签) 从opus_codec标签切换到新分支功能/编解码器 git checkout -b feature/codec opus_codec 我已按如

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

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

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 push --set-upstream origin hotfix_4.4.3

我使用以下步骤从标记创建新的热修复程序分支

语法

git签出-b
步骤来做这件事

  • git签出-b NewBranchName v1.0
  • 对pom/发布版本进行更改
  • 阶段变化
  • git commit-m“更新修补程序分支的pom版本”
  • 最后,将新创建的分支推送到远程存储库
  • git推送-u源名称
    

    我希望这会有所帮助。

    如果我们想从同名的标记创建分支,情况会有点问题

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

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

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

    git branch cica refs/tags/cica
    

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

    给我

    From https://github.com/keycloak/keycloak
       90b29b0e31..0ba9055d28  stage      -> upstream/stage
     * [new tag]    11.0.0     -> 11.0.0
    
    然后我可以从这个标签创建一个新的分支并在上面签出

    git签出-b标签/


    可能的副本是正确的。注意,您也可以使用git reset--hard v1.0将主分支设置回标记点,如果由于“不是有效的提交”或类似错误(通常在共享存储库上工作时)而无法工作,请参考@wadesworld的建议,但是,如果有人读到这篇文章,但不100%确定重置主分支意味着什么,请不要这样做。这是我在这里找到的一个更好的答案-如果文本复制粘贴足够的话,请不要使用屏幕截图。我想这应该是可以接受的答案,因为它完全符合要求。被接受的答案做了问题中没有说明的其他事情。
    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 tags/11.0.0 -b v11.0.0