如何git clone 一个仓库的指定分支?

in STEEM CN/中文5 days ago

当然可以!克隆仓库的指定分支是一个非常常见且实用的操作,可以让你直接获取到你需要的工作分支,而无需后续切换。

🌟 核心命令

最直接的方法是使用 git clone 命令的 -b (或 --branch) 参数,后面跟上分支名。

git clone -b <分支名> <仓库地址>

📋 详细步骤与示例

假设你要克隆 cnb.cool 上的一个仓库,并且直接获取它的 develop 分支。

  1. 获取仓库地址:登录 cnb.cool,进入你的仓库页面,复制 HTTPS 地址(如 https://cnb.cool/your-username/your-repo.git)。
  2. 确定分支名:确保你知道目标分支的确切名称(如 develop, feature/new-login 等)。
  3. 执行克隆命令:打开终端,执行以下命令:
    git clone -b develop https://cnb.cool/your-username/your-repo.git
    

执行后,Git 会:

  1. 克隆整个仓库。
  2. 自动将你的本地分支设置为远程的 develop 分支。
  3. 你当前所在的分支就是 develop,可以直接开始工作。

🔍 验证当前分支

克隆完成后,你可以进入项目目录,并用以下命令确认你当前所在的分支:

cd your-repo
git branch

输出中,前面带有星号 * 的分支就是你当前所在的分支。

* develop
  main

这表示你已成功处于 develop 分支。


💡 其他实用技巧

1. 克隆后,本地分支与远程分支的关联

使用 -b 参数克隆的分支,会自动与远程分支建立关联(tracking)。你可以用 git branch -vv 查看:

git branch -vv

输出可能如下:

* develop 1234abc [origin/develop] Latest commit message

方括号中的 origin/develop 表示本地的 develop 分支正在跟踪远程的 origin/develop 分支。这样你就可以直接使用 git pullgit push 来同步代码,而无需额外指定远程和分支名。

2. 如果只想克隆仓库,但先不切换分支

如果你只是想先把仓库下载到本地,之后再手动切换分支,可以正常克隆:

git clone https://cnb.cool/your-username/your-repo.git
cd your-repo
git checkout develop

3. 如果不确定分支名

你可以先克隆仓库,然后查看所有远程分支:

git clone https://cnb.cool/your-username/your-repo.git
cd your-repo
git branch -r  # 列出所有远程分支

输出会像这样:

origin/HEAD -> origin/main
origin/main
origin/develop
origin/feature/test

找到你需要的分支名后,再用 git checkout <分支名> 来创建并切换到本地分支。


📌 总结

需求命令
直接克隆指定分支git clone -b <分支名> <仓库地址>
克隆后手动切换分支git clone <仓库地址> && cd <仓库目录> && git checkout <分支名>
查看所有远程分支git branch -r

掌握 git clone -b 可以让你的工作流更加高效,特别是在处理多分支协作的项目时。

Sort:  

Upvoted! Thank you for supporting witness @jswit.