我正在尝试checkout我刚刚从upstream远程回购中获得的一个分支,但它似乎不起作用。
$ git fetch upstream
Fetching upstream
From github.com:group/repo
* [new branch] feature-branch -> upstream/feature-branch
$ git checkout feature-branch
error: pathspec 'feature-branch' did not match any file(s) known to git.我做错了什么吗?
发布于 2017-06-02 18:03:55
该分支可能存在于多个遥控器中。(您可以用git branch --list --remotes '*/feature-branch'确认这一点。) git checkout只创建这样的分支,如果它们是明确的。来自git-checkout(1)
如果没有找到
<branch>,但确实存在一个具有匹配名称的远程(称为<remote>)的跟踪分支,则将其视为等效于 $ git结账-b --跟踪/
所以你需要这样做:
git checkout -b feature-branch --track upstream/feature-branch发布于 2019-03-05 00:56:38
这个帖子帮我解决了这个问题。我已经忘记了,我做了一个浅克隆的回购。How to convert a Git shallow clone to a full clone?
下面的命令(gitVersion1.8.3)将将浅层克隆转换为常规克隆
git fetch --unshallow然后,访问所有的原始分支(感谢@Peter在评论中)
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch origin发布于 2017-06-02 18:05:49
您希望git理解“快捷”签出表示法,但它似乎不适用。也许多个远程程序有名为feature_branch的分支
好吧,不管怎样,git checkout -b feature-branch -track upstream/feature-branch应该工作
https://stackoverflow.com/questions/44334906
复制相似问题