我已经创建了一个从另一个远程存储库镜像的新本地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?
答案 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}"