专栏中心

EEPW首页 > 专栏 > 如何拉取git远程仓库的某个指定分支

如何拉取git远程仓库的某个指定分支

发布人:电子禅石 时间:2020-09-23 来源:工程师 发布文章
git clone

本地分支默认与远程同名分支建立追踪关系。git clone会克隆一个版本库到本地。使用-b <name>或--branch <name>参数,它不会将新创建的HEAD指向克隆仓库的HEAD指向的分支(master分支),而是指向name分支。例如下面命令是拉取远程仓库的develop分支。

$ git clone -b develop git@git.csdn.com:benben/2015test.git1

拉取到本地后,通过git branch -a可以看到,当前分支是develop分支。

* develop
  remotes/origin/HEAD -> origin/master
  remotes/origin/develop
  remotes/origin/master1234
git fetch

会下载你远程仓库的对象和分支,例如$ git fetch origin会从远程refs/heads/命名空间中拷贝所有的分支,并将其拷贝到本地的refs/remotes/origin/命名空间。
上面的例子是你已经关联了一个远程仓库,但是比如你第一次没有使用git clone来克隆一个远程仓库时,使用git fetch <repository>命令下载repository的内容。

$ git fetch git@git.csdn.com:benben/2015test.git1

第一次执行这条命令时,如果报这样的错误:

fatal: Not a git repository (or any of the parent directories): .git1

那是因为你还没有初始化本地的仓库,所以需要先使用git init命令进行初始化。
在git fetch执行成功后,如果你打开目录。没有发现远程仓库中的文件,那么可能的原因是你还没有切换到本地的分支上。利用git checkout <branch>,即可切换到本地的branch分支上。这时就可以看到和远程仓库branch分支上一样的内容。
默认情况下,git fetch下载的分支和远程的分支名相同。如果你希望download后本地的分支和远程不一样,那么可以使用下面类似的命令:

$ git fetch git@git.csdn.com:benben/2015test.git master:localmaster develop:localdevelop1

执行后会看到:


remote: Enumerating objects: 12422, done.
remote: Counting objects: 100% (12422/12422), done.
remote: Compressing objects: 100% (7917/7917), done.
remote: Total 12422 (delta 4099), reused 12389 (delta 4073)
Receiving objects: 100% (12422/12422), 20.87 MiB | 1.16 MiB/s, done.
Resolving deltas: 100% (4099/4099), done.
From git@git.csdn.com:benben/2015test.git
 * [new branch]      master     -> localmaster
 * [new branch]      develop    -> localdevelop
 * [new tag]         V1.0.0     -> V1.0.012345678910
git pull

git pull命令相当于git fetch+ git merge命令。git fetch用于获取远程某个仓库的某个分支,然后git merge会将拉取的分支与本地分支进行合并。
如果你想拉取远程仓库的某个分支,那么使用git pull <repository> <branch>命令。例如下面的命令会拉取远程develop分支到本地。


$ git pull git@git.csdn.com:benben/2015test.git develop
remote: Enumerating objects: 12396, done.
remote: Counting objects: 100% (12396/12396), done.
remote: Compressing objects: 100% (7897/7897), done.
remote: Total 12396 (delta 4096), reused 12359 (delta 4067)
Receiving objects: 100% (12396/12396), 20.87 MiB | 1.35 MiB/s, done.
Resolving deltas: 100% (4096/4096), done.
From git@git.csdn.com:benben/2015test.git
 * branch            develop    -> FETCH_HEAD
Checking out files: 100% (14904/14904), done.12345678910

使用git log FETCH_HEAD可以看到该分支的提交记录,但是当前本地分支还在master分支上,你还需要创建一个新的分支,然后将这两者关联起来。


专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

飞思卡尔杯-第六届设计应用大奖赛 三等奖获奖论文

优化功率转换器的功率密度:顶部散热封装的作用

Matlab常用函数

飞思卡尔杯-第六届设计应用大奖赛 一等奖获奖论文

FPGA原型验证与硬件仿真如何成为两大验证流派,又如何走向融合

守卫工业设备的底层稳态,隔离电源为何成了必争之地?

独家拆解 | 英飞凌XENSIV™磁传感器,如何助力机器人规模化落地

折叠屏手机进入“阔型”时代

2026-04-14

飞思卡尔杯-第六届设计应用大奖赛 二等奖获奖论文

Microchip BZPACK 碳化硅功率模块可应对 HV‑H3TRB 严苛环境

JPR:全球AI处理器开发商已达135家

智能计算 2026-04-14

飞思卡尔杯-第六届设计应用大奖赛 优秀奖获奖论文1

力科助力汽车电子总线开发

视频 2010-09-08

开放的汽车电子控制系统研究

【工程师笔记】都可以升压,Boost、Buck-Boost、Sepic拓扑怎么选?

联发科Android晶片 本季出货 带动成长

视频 2010-08-17

联发科技宣传片

视频 2010-09-07

NAND报价狂涨:LTA将成为存储器行业主流模式

2026-04-14

Vicor 电源模块 VI 的基本功能介绍

视频 2010-09-02

片上网络(NoC)至关重要:打造下一代AI SoC的核心骨架

智能计算 2026-04-14
更多 培训课堂
更多 焦点
更多 视频

技术专区