我想从现有标记创建一个新的主分支。假设我有一个标签v1.0。如何从这个标签创建一个新的分支?
当前回答
如果我们想要从具有相同名称的标记创建分支,情况就会变得有点问题。
在这种情况下,以及在类似的情况下,重要的是要知道:分支和标记实际上是.git/refs目录下的单行文本文件,我们可以使用它们在.git下面的路径显式引用它们。树枝在这里被称为“头”,使我们的生活更简单。
因此,refs/heads/master是主分支的真实的、显式的名称。而refs/tags/cica是cica标签的确切名称。
从名为cica的标记创建一个名为cica的分支的正确命令是:
git branch cica refs/tags/cica
其他回答
在简单的用例中,我在一个fork上,我想从主项目存储库上的标记签出一个新的分支,这是唯一适合我的解决方案的例子(这里是上游)。
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
我已经解决了以下问题 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 branch newbranch v1.0
在写这个答案的时候,最新的git惯用用法是这个命令:
git switch -C branch tag
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- 在GitHub上有一个公共回购的私人分支?
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式