来自远程标签的Git分支

时间:2013-02-23 17:32:24

标签: git git-branch git-tag

我已经创建了一个从另一个远程存储库镜像的新本地git存储库:

git init
git remote add original {url}
git pull original master
git remote add origin {url}
git push -u origin master

这将创建original主分支的镜像。 现在我想从original创建一个新的分支分支。

命令应该如何? 我试过了git checkout -b newbranch original/tagname,但我得到了:

fatal: Cannot update paths and switch to branch 'newbranch' at the same time.
Did you intend to checkout 'original/tagname' which can not be resolved as commit?

4 个答案:

答案 0 :(得分:13)

您需要将其包含在两个说明中

git checkout tagname && git checkout -b newbranch

可选地

git checkout tagname -b newbranch

答案 1 :(得分:5)

这对我有用

$git fetch --tags
$git tag
$git checkout -b <new_branch_name> <tagname>

答案 2 :(得分:4)

没有像“远程跟踪分支”这样的“远程跟踪标记”的概念。您可以从回购中获取标签,也可以不使用。至少在标准设置中。你可以改变它,但我不建议这样做。这不起作用吗?

git checkout -b newbranch tagname

答案 3 :(得分:0)

以下bash脚本可用于自动执行此过程:

#!/bin/bash

old_name="old-branch-name"
new_name="new-branch-name"

git checkout ${old_name}
git branch -m ${old_name} ${new_name}
git push origin :${old_name} ${new_name}
git push origin -u ${new_name}
echo "Branch ${old_name} renamed to ${new_name}"