我正在尝试从远程标记创建分支,但似乎没有办法做到这一点。当我尝试
git checkout -b test origin/deploy
其中origin是远程,deploy是我要签出的标签,但是我得
fatal: git checkout: updating paths is incompatible with switching branches.
Did you intend to checkout 'origin/deploy' which can not be resolved as commit?
更新 我刚刚发现了
git fetch --all -t
对我不起作用。当它下载所有分支时,它不会下载所有标签,因此当我签出部署时它是旧标签。现在我执行
git fetch --all && git fetch -t
当我基于标签
创建新分支时这样git checkout -b test deploy
新分支是最新部署的最新版本。
答案 0 :(得分:29)
我不确定你能否直接这样做。你可能会坚持做一个获取然后结账:
git fetch origin
git checkout -b test tag-name
顺便说一下,我不建议使用像“deploy”这样的标签名称。
答案 1 :(得分:23)
我不是一个git guru,但之前我曾经使用过这样的东西,它似乎工作得很好:
git pull (or fetch, just need to make sure you are updated)
git checkout -b test remotes/origin/deploy
答案 2 :(得分:4)
你需要运行
git pull
git checkout -b <new-branch-name> remotes/origin/<source-branch-name>
答案 3 :(得分:0)
列出所有标签
git fetch
git tags -l
创建指向标签的本地分支
git checkout tags/<tag_name> -b <branch_name>
git checkout -b <branch_name> tags/<tag_name>