克隆分支时:在上游原点中找不到远程分支

Chr*_*sen 16 git github

如何从git克隆分支?

我知道这是一个愚蠢的问题,但我认为我们一直在那里犯愚蠢的错误.

假设我有一个名为branch的分支branch-99,我的用户名是Christoffer.我试着像这样克隆我的分支:

git clone -b branch-99 git@github.Christoffer/admin.git
Run Code Online (Sandbox Code Playgroud)

我收到这个错误.

致命的:远程分支分支-99在上游起源中找不到

我怎样才能克隆我的分支?

Sch*_*ern 17

branch-99远程存储库中不存在.您可能拼错了分支名称或存储库.

要检查存在哪些分支,请正常克隆存储库并列出远程分支.

git clone git@github.com:Christoffer/admin.git
git branch -r
Run Code Online (Sandbox Code Playgroud)

或者,为了避免必须克隆整个存储库只是为了检查分支,您可以使用ls-remotes,但是您必须初始化存储库并手动添加远程数据库.只有在存储库很大并且您不打算使用它时才执行此操作.

git init admin
cd admin
git remote add origin git@github.com:Christoffer/admin.git
git ls-remote --heads origin
Run Code Online (Sandbox Code Playgroud)

要清楚,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
Run Code Online (Sandbox Code Playgroud)

那点语法糖不值得打扰.我想这可能会节省你一点点时间而不必检查主人.

如果要仅克隆一个分支的历史记录以节省一些网络和磁盘空间使用--single-branch.

git clone --single-branch -b branch-99 git@github.com:Christoffer/admin.git
Run Code Online (Sandbox Code Playgroud)

然而,它通常不值得麻烦.Git非常具有磁盘和网络效率.并且必须克隆该分支的整个历史,其中通常包括大多数存储库.