Menu
CoddyTech

Git:克隆指定分支

最后更新

默认情况下,git clone 会检出仓库的默认分支(通常是 main),但会下载所有分支。要从另一个分支开始,加上 -b <branch>。如果只想获取这个分支、跳过其他分支(对大型仓库或 CI 很方便),再加上 --single-branch。

在终端在线编辑器中试试这些命令:浏览器里就有一个真正的 shell,无需安装任何东西。

git clone -b 会检出你指定的分支;加上 --single-branch 时只下载这个分支的历史。

语法

命令作用
git clone -b dev <url>克隆并检出 dev 分支
git clone -b dev --single-branch <url>只克隆 dev 分支的历史
先 git clone <url>,再 git switch dev克隆全部内容,然后切换

该用哪种方法

目标命令
从某个分支开始,保留所有分支git clone -b dev <url>
始终只需要一个分支git clone -b dev --single-branch <url>
已经克隆过,想要另一个分支先 git fetch,再 git switch dev

Git 克隆指定分支常见问题

如何在 Git 中克隆指定分支?
运行 git clone -b <branch> <url>(或使用完整写法 --branch)。Git 会克隆仓库,并检出你指定的分支而不是默认分支。除非你同时加上 --single-branch,否则其他分支仍然会被下载。
如何只克隆一个分支,其他什么都不要?
把两个选项组合起来:git clone -b <branch> --single-branch <url>。这只会获取指定分支的历史,跳过其他所有分支,克隆得更小、更快,适合大型仓库或只需要一个分支的 CI 流水线。
只克隆单个分支后,还能切换到其他分支吗?
不能直接切换,因为其他分支没有被获取下来。先让 Git 获取它们:运行 git remote set-branches origin '*',再运行 git fetch,之后就可以用 git switch 切换到任意分支了。如果你预计会用到多个分支,那就直接正常克隆。
这和先克隆再切换有什么区别?
普通的 git clone <url> 加上 git switch <branch>,会先拿到所有分支,再切换到你想要的那个,日常使用完全没问题。git clone -b 会让你一开始就在那个分支上,配合 --single-branch 还能避免下载其余分支。
可以在线练习吗?
可以。打开终端在线编辑器,就能在浏览器里真正的 shell 中运行 git clone,无需安装任何东西。Coddy 免费的互动式 Git 课程也会一步步讲解如何获取仓库。
Coddy 编程语言插图

在 Coddy 学习 Git

开始