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

o7jaxewo  于 2023-04-28  发布在  Git
关注(0)|答案(8)|浏览(285)

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

snvhrwxg

snvhrwxg1#

哇,这比我想象的容易多了:

git checkout -b newbranch v1.0

如果运行上面的命令,你得到一个错误
警告:refname 'v1.“0”不明确。
致命错误:对象名称不明确:'v1.0'
这是因为你还有一个名为v1.0的分支。在这种情况下,指定tag/前缀:

git checkout -b newbranch tags/v1.0
pcrecxhr

pcrecxhr2#

如果你只是想创建一个新的分支而不立即更改它,你可以做以下事情:

git branch newbranch v1.0
pieyvz9o

pieyvz9o3#

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

语法

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

步骤去做。

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

我希望这会有所帮助。

hyrbngr7

hyrbngr74#

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

一旦你准备好了你的hotfix分支,是时候把那个分支移动到github了,你可以通过写下面的命令来完成

git push --set-upstream origin hotfix_4.4.3
zlhcx6iw

zlhcx6iw5#

如果我们想从一个标签 * 创建一个同名的分支 *,情况就有点问题了。
在这种情况下,以及在类似的情况下,重要的是要知道:分支和标记实际上是.git/refs目录中的单行文本文件,我们可以使用.git下面的路径显式引用它们。树枝在这里被称为“头”,使我们的生活更简单。
因此,refs/heads/mastermaster分支的真实的显式名称。refs/tags/cica是名为cica的标记的确切名称。
从名为cica的标记创建名为cica的分支的正确命令是:

git branch cica refs/tags/cica
e5nqia27

e5nqia276#

在一个简单的用例中,我在一个fork上,我想从主项目存储库(这里是上游)的一个标签中 checkout 一个新的分支,这是唯一对我有效的解决方案的一个例子

git fetch upstream --tags

给予我

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

然后我可以从这个标签创建一个新的分支,并在上面 checkout
git checkout -b tags/<name> <newbranch>

git checkout tags/11.0.0 -b v11.0.0
wlwcrazw

wlwcrazw7#

在我写这篇回答的时候,最新的git习惯用法是这个命令:

git switch -C branch tag
kmynzznz

kmynzznz8#

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

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

opus_codec标签切换到新分支feature/codec

git checkout -b feature/codec opus_codec

相关问题