克隆分支:上游源中未找到远程分支branch-99。

28

如何使用特定的分支名称从git中克隆一个分支?

我有一个名为branch-99的分支,我的用户名是Istiak

我尝试像这样克隆我的分支:

git clone -b branch-99 git@github.istiak/admin.git

我收到了这个错误。

致命错误:在上游源中找不到远程分支branch-99

我做错了什么?


1
你检查过你的分支在远程系统上是否可用了吗?这很可能是这里解决问题的关键:http://stackoverflow.com/questions/25815127/github-clone-remote-brach-error-not-found。 - Calon
2个回答

32

branch-99 在远程仓库中不存在。你可能拼写了错误的分支名称或仓库名称。

使用ls-remote命令查看存在哪些分支。你可以在远程...

git ls-remote --heads origin

如果您还没有克隆存储库,在URL上进行操作。

git ls-remote --heads git@github.com:Christoffer/admin.git

你将得到提交ID和分支名称,但它们将是完整的引用,例如refs/heads/<branch>

8c2ac78ceba9c5265daeab1519b84664127c0e7d    refs/heads/fix/that
6bc88ec7c9c7ce680f8d69ced2e09f18c1747393    refs/heads/master
83f062226716bb9cebf10779834db1ace5578c50    refs/heads/branch-42

请查看gitrevisions获取更多信息。


明确一点,git clone -b branch-99 git@github.com:Christoffer/admin.git会克隆整个仓库。只不过检出的分支是branch-99而不是master。它与...

git clone git@github.com:Christoffer/admin.git
git checkout branch-99

那点语法糖不值一提。我猜它可能会为你节省一点时间,不必检出主分支。

如果您想克隆一个分支的历史记录以节省一些网络和磁盘空间,请使用--single-branch参数。

git clone --single-branch -b branch-99 git@github.com:Christoffer/admin.git

然而,通常这并不值得麻烦。Git非常高效地使用磁盘和网络资源。而且,通常必须克隆该分支的全部历史记录,其中包括大部分存储库。


是的,如果 Git 仓库中没有指定的分支,则会抛出此错误。 - Arun Prasad
遇到了相同的问题,是分支名称拼写错误导致的,谢谢! - user1514077

3
git clone git@github.com:Christoffer/admin.git
git checkout branch-99

如果branch-99不存在,这并不能帮助。 - Schwern
当我使用git clone git@github.com:Christoffer/admin.git时,它会克隆我的整个主分支而不是分支99。 - Istiak Mahmood

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接