Git从远程仓库拉取指定的分支

一、git clone 命令获取

使用git管理代码版本的时候,本地分支默认与远程同名分支建立追踪关系。文章开始也提到git clone <url>命令默认将整个远程版本库克隆到本地,但是git clone -b <分支名称>命令可以将指定的某一个远程分支拉取到我们本地,而且拉取的本地分支自动和远程同名分支建立追踪关系,它不会将新创建的HEAD指向克隆仓库中HEAD指向的maser主分支,而是指向我们刚拉取下来的分支;示例如下:

复制代码
$ git clone -b dev开发分支 https://github.com/521/springboot-rabbitmq.git

分支拉取结束以后,执行git branch -a 命令,结果如下:

复制代码
$ git branch -a
* dev开发分支
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev开发分支
  remotes/origin/master
  remotes/origin/test测试分支

从执行结果可以看出,当前分支为"dev开发分支" ,剩余的四个都是远程分支;

注意:用git clone -b <分支名称> <url>拉取指定的某一个分支时,我们本地是没有克隆url对应的远程仓库代码,也就是说进入某个路径的文件夹后直接使用该命令去拉取指定分支,而不是先执行git clone <url>将远程代码库克隆到本地以后进入项目目录再执行该命令去拉取指定分支。否则,拉取下来的还是master主分支。

二、git fetch 命令获取

git fetch命令从远程仓库拉取指定某一个分支时,和上面的git clone -b命令时不一样。使用git fetch命令时,需要先将远程的仓库克隆到本地,然后在执行git fetch命令。该命令执行完以后还是处在master主分支的,如果进去目录没有发现想要拉取的仓库文件。此时并不是git fetch命令没有执行,而是我们还没有切换到我们想要拉取的分支上,需要我们执行git checkout命令切换到我们想要拉取的分支上。示例如下:

1.拉取整个远程代码库

复制代码
$ git clone https://github.com/521/springboot-rabbitmq.git

2.进入项目目录,也就是进入master主分支

复制代码
$ cd springboot-rabbitmq/

3.执行git fetch命令,将远程仓库的所有分支拷贝到本地仓库

复制代码
$ git fetch

4.执行git checkout <分支名称>命令,切换到我们想要拉取的指定某一个分支的本地分支

复制代码
$ git checkout dev开发分支

这是就会看到本地仓库的dev开发分支和远程仓库的dev开发分支一样的内容, 默认情况下,git fetch下载的分支和远程的分支名相同。

5.执行git branch -a命令查看所有分支情况

复制代码
$ git branch -a
* dev开发分支
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev开发分支
  remotes/origin/master
  remotes/origin/test测试分支

可以看到本地有两个分支,目前所在的分支为dev开发分支,还有三个远程分支。到此通过git fetch命令来获取远程仓库某一个指定分支的步骤就执行完毕了。

三、 git checkout -b 命令获取

第三种获取远程仓库某一个指定分支的方法和第二种方法有点类似,都是将远程仓库克隆到本地仓库,然后执行git checkout -b <本地分支名称> origin/<远程分支名称>,具体步骤如下:

1.进入某个文件夹执行克隆远程仓库的git

复制代码
$ git clone https://github.com/521/springboot-rabbitmq.git

此时远程仓库就克隆到了本地仓库。

  1. 进入项目目录,也就是进入master主分支

    $ cd springboot-rabbitmq/

3.执行git branch -a查看所有分支名称,* 号表示当前分支

复制代码
$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev开发分支
  remotes/origin/master
  remotes/origin/test测试分支

4.执行git checkout -b <本地分支名称> origin/<远程分支名称>,拉取指定的某一个分支

复制代码
$ git checkout -b dev开发分支 origin/dev开发分支

该命令的作用是:checkout远程仓库origin的分支"dev开发分支",在本地起名为"dev开发分支"分支,并切换到本地的"dev开发分支"分支。

5.拉取该分支的最新代码

复制代码
$ git pull origin dev开发分支
相关推荐
jimy12 分钟前
git一键push的脚本
git
好好研究1 小时前
Git命令
大数据·git·elasticsearch
The Chosen One9853 小时前
【Linux】制作进度条小程序、git入门 (add、commit、push三板斧)以及git的其他问题
linux·运维·git
成为你的宁宁4 小时前
【Jenkins 参数化构建实战指南:基于机器环境与插件配置,详解 tag 标签管理、commit 修订号应用、版本切换及回退全流程】
git·gitlab·jenkins·参数化构建
ganshenml14 小时前
【GIT】Git 本地无法识别远程分支的原因与解决方法 not a valid ref
大数据·git·elasticsearch
lizz66614 小时前
在Git提交中,常见的提交类型(基于Angular提交规范,已被广泛采用)
git
涵涵(互关)14 小时前
git基础操作(按图一步一步来,有案例)
git
我是苹果,不是香蕉15 小时前
git remote报错解决办法
git
SHIPKING39316 小时前
【git命令操作指南】
git
LT_102917 小时前
如何初始化一个本地的项目到远程git仓库?
git·源代码管理