Git 如何切换到分支名称中带有正斜杠的远程分支?

Git 如何切换到分支名称中带有正斜杠的远程分支?,git,Git,我正在尝试签出到远程分支,但如果分支名称中有斜杠,则无法执行此操作: $ git checkout --track origin/feat/add_posts fatal: 'origin/feat/add_posts' is not a commit and a branch 'feat/add_posts' cannot be created from it 这个问题的解决方案要长一点,可能会导致一些错误,因为我需要知道我需要切换到的分支的父级是什么,这样就不会有冲突 每个ref的命令显示

我正在尝试签出到远程分支,但如果分支名称中有斜杠,则无法执行此操作:

$ git checkout --track origin/feat/add_posts
fatal: 'origin/feat/add_posts' is not a commit and a branch 'feat/add_posts' cannot be created from it
这个问题的解决方案要长一点,可能会导致一些错误,因为我需要知道我需要切换到的分支的父级是什么,这样就不会有冲突

每个ref的命令
显示:

git for-each-ref | grep feat/add_posts
369006c638a0db7c344d3d6b66c08945c273d4ee commit refs/heads/feat/add_posts
f5ee8ce4c7f9b8213fa33f4abb88d8d13625ca62 commit refs/remotes/origin/feat/add_posts
我使用:

git checkout -b feat/add_posts
git pull origin feat/add_posts
git reset --hard origin/feat/add_posts
这是可行的,但有更简单的方法吗

已更新:它仅在第一次显示(如果我没有此分支),因此,如果我以前有此分支,但我将其删除,我可以毫无问题地签出到它

git签出专长/添加帖子
分支“专长/添加帖子”设置为从“源”跟踪远程分支“专长/添加帖子”。
切换到新分支“专长/添加帖子”

您确定有一个同名的远程分支吗?您当地的回购方是否知道这一点(即,您已
git fetch
ed)?
git分支-a
显示了什么?我可以切换到远程分支,只需
git checkout
,即使名称中有斜杠也可以。我刚刚在测试报告中复制了您的场景,
git checkout feat/add_posts
对我很有效。当您执行
git分支-a
时,是否在列表中看到
remotes/origin/feat/add_posts
?您的
git签出--track origin/feat/add_posts
语法也像预期的那样对我有效。我唯一的猜测是,当您第一次尝试它时,您还没有从
origin
git checkout-b feat/add\u posts origin/feat/add\u posts
。似乎是
feat
这个词的问题,而不是斜杠的问题,因为其他词(
feature
fix
)一切正常你有没有可能在某个地方有一个叫做
feat
的分支?如果在分支名称中添加斜杠,则会创建名称一直到斜杠的目录,这与将该名称作为分支不兼容。但这个问题可能是在转移注意力,如果是这样的话,错误信息应该是不同的。我仍然无法重现你原来的问题。