我想从现有的标记创建一个新的master分支。假设我有一个标记v1.0。如何从这个标签创建一个新的分支?
v1.0
snvhrwxg1#
哇,这比我想象的容易多了:
git checkout -b newbranch v1.0
如果运行上面的命令,你得到一个错误警告:refname 'v1.“0”不明确。致命错误:对象名称不明确:'v1.0'这是因为你还有一个名为v1.0的分支。在这种情况下,指定tag/前缀:
tag/
git checkout -b newbranch tags/v1.0
pcrecxhr2#
如果你只是想创建一个新的分支而不立即更改它,你可以做以下事情:
git branch newbranch v1.0
pieyvz9o3#
我使用以下步骤从Tag创建一个新的热修复分支。
语法
git checkout -b <New Branch Name> <TAG Name>
步骤去做。
git checkout -b NewBranchName v1.0
git commit -m "Update pom versions for Hotfix branch"
git push -u origin NewBranchName
我希望这会有所帮助。
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
zlhcx6iw5#
如果我们想从一个标签 * 创建一个同名的分支 *,情况就有点问题了。在这种情况下,以及在类似的情况下,重要的是要知道:分支和标记实际上是.git/refs目录中的单行文本文件,我们可以使用.git下面的路径显式引用它们。树枝在这里被称为“头”,使我们的生活更简单。因此,refs/heads/master是master分支的真实的显式名称。refs/tags/cica是名为cica的标记的确切名称。从名为cica的标记创建名为cica的分支的正确命令是:
.git/refs
.git
refs/heads/master
master
refs/tags/cica
cica
git branch cica refs/tags/cica
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
然后我可以从这个标签创建一个新的分支,并在上面 checkoutgit checkout -b tags/<name> <newbranch>
git checkout -b tags/<name> <newbranch>
git checkout tags/11.0.0 -b v11.0.0
wlwcrazw7#
在我写这篇回答的时候,最新的git习惯用法是这个命令:
git switch -C branch tag
kmynzznz8#
我的分支列表(现在只有master)
我的标签列表(有三个标签)
从opus_codec标签切换到新分支feature/codec
git checkout -b feature/codec opus_codec
8条答案
按热度按时间snvhrwxg1#
哇,这比我想象的容易多了:
如果运行上面的命令,你得到一个错误
警告:refname 'v1.“0”不明确。
致命错误:对象名称不明确:'v1.0'
这是因为你还有一个名为
v1.0
的分支。在这种情况下,指定tag/
前缀:pcrecxhr2#
如果你只是想创建一个新的分支而不立即更改它,你可以做以下事情:
pieyvz9o3#
我使用以下步骤从Tag创建一个新的热修复分支。
语法
步骤去做。
git checkout -b NewBranchName v1.0
1.对pom /发布版本进行更改
1.阶段变化
git commit -m "Update pom versions for Hotfix branch"
1.最后将新创建的分支推送到远程仓库。
我希望这会有所帮助。
hyrbngr74#
我已经解决了下面的问题1。从您的分支2获取标记。写在下面命令
或者你可以用其他命令
一旦你准备好了你的hotfix分支,是时候把那个分支移动到github了,你可以通过写下面的命令来完成
zlhcx6iw5#
如果我们想从一个标签 * 创建一个同名的分支 *,情况就有点问题了。
在这种情况下,以及在类似的情况下,重要的是要知道:分支和标记实际上是
.git/refs
目录中的单行文本文件,我们可以使用.git
下面的路径显式引用它们。树枝在这里被称为“头”,使我们的生活更简单。因此,
refs/heads/master
是master
分支的真实的显式名称。refs/tags/cica
是名为cica
的标记的确切名称。从名为
cica
的标记创建名为cica
的分支的正确命令是:e5nqia276#
在一个简单的用例中,我在一个fork上,我想从主项目存储库(这里是上游)的一个标签中 checkout 一个新的分支,这是唯一对我有效的解决方案的一个例子
给予我
然后我可以从这个标签创建一个新的分支,并在上面 checkout
git checkout -b tags/<name> <newbranch>
wlwcrazw7#
在我写这篇回答的时候,最新的git习惯用法是这个命令:
kmynzznz8#
我的分支列表(现在只有master)
我的标签列表(有三个标签)
从opus_codec标签切换到新分支feature/codec