技术背景

Git是代码版本最常用的管理工具,此前也写过一篇介绍Git的基本使用的博客,而本文介绍一个可能在特定场景下能够用到的功能--直接拉取指定分支的内容。

Git Clone

首先看一下如果我们按照常规的操作去拉取一个Gitee的代码仓,是什么样的效果:

$ git clone https://gitee.com/mindspore/mindscience.git
正克隆到 'mindscience'...
remote: Enumerating objects: 2884, done.
remote: Counting objects: 100% (97/97), done.
remote: Compressing objects: 100% (83/83), done.
remote: Total 2884 (delta 21), reused 46 (delta 9), pack-reused 2787
接收对象中: 100% (2884/2884), 21.49 MiB | 1.59 MiB/s, 完成.
处理 delta 中: 100% (1454/1454), 完成.
$ cd mindscience/
$ git branch
* master

拉取了仓库之后,我们发现默认是把master分支给拉取了下来,此时如果要切换到线上的另一个分支dev-md,就需要在本地用git checkout -b新建一个分支,然后在git pull远程的dev-md分支。而且之后要push的时候,还需要用set_upstream对齐等等。这样的操作是比较麻烦的,特别是有时我们就只需要其中某一个特定的分支,那我们就可以按照下面的步骤来进行,在clone时就加上-b branch_name的操作,就可以指定分支进行拉取:

$ git clone -b dev-md https://gitee.com/mindspore/mindscience.git
正克隆到 'mindscience'...
remote: Enumerating objects: 2884, done.
remote: Counting objects: 100% (97/97), done.
remote: Compressing objects: 100% (83/83), done.
remote: Total 2884 (delta 21), reused 46 (delta 9), pack-reused 2787
接收对象中: 100% (2884/2884), 21.49 MiB | 1.70 MiB/s, 完成.
处理 delta 中: 100% (1454/1454), 完成.
$ cd mindscience/
$ git branch
* dev-md

可以看到,在拉取结束后,分支名也跟上游进行了同步,我们就可以在想要的分支上进行操作了。

总结概要

当我们使用Gitee和Github等通过Git来进行代码版本管理的平台时,有时会面临这样的一个问题:某一个代码仓里面划分了很多个分支,而我只需要其中的某一个特性分支,此时如果直接克隆下来,就会导致一系列的麻烦操作。而我们只需要在clone的指令加上一条配置,就可以直接指定分支进行拉取,方便后续的操作。

版权声明

本文首发链接为:https://www.cnblogs.com/dechinphy/p/git-branch.html

作者ID:DechinPhy

更多原著文章请参考:https://www.cnblogs.com/dechinphy/

打赏专用链接:https://www.cnblogs.com/dechinphy/gallery/image/379634.html

腾讯云专栏同步:https://cloud.tencent.com/developer/column/91958

CSDN同步链接:https://blog.csdn.net/baidu_37157624?spm=1008.2028.3001.5343

51CTO同步链接:https://blog.51cto.com/u_15561675

git clone指定分支的更多相关文章

  1. git clone 指定分支 拉代码

    1.git clone 不指定分支 git clone http://10.1.1.11/service/tmall-service.git 2.git clone 指定分支 git clone -b ...

  2. git clone 指定分支

    使用Git下载指定分支命令为:git clone -b 分支名仓库地址 克隆asp.net core 2.1.6版本 git clone -b 2.1.6 https://github.com/asp ...

  3. git clone 指定分支的内容

    使用Git下载指定分支命令为:git clone -b 分支名仓库地址 使用Git下载v.2.8.1分支代码,使用命令:git clone -b v2.8.1 https://git.oschina. ...

  4. linux git clone 指定分支

    git clone -b develop http://192.168.11.11:8888/scm/git/vrmmo 指定下载develop分支

  5. git clone 指定分支操作

    服务器迁移,而且原来本地开发是在同一个目录中切换不同的分支,感觉有点挫,于是打算一个文件目录对应一个分支,这样不会有太大的文件差异. 记录下来本次操作,可能以后还会用到. git初始化一般是这样. g ...

  6. Git 克隆指定分支代码

    git clone 指定分支 拉代码 1.git clone 不指定分支 git clone  http://10.1.1.11/service/sz-service.git 2.git clone ...

  7. git命令行clone指定分支、更新、冲突解决、提交代码步骤

    clone指定分支 : git init 初始化仓库 git clone -b 分支名  git@192.168.3.166:xxxx/xxxx.git   克隆指定分支 更新 :git status ...

  8. 克隆指定的分支:git clone -b 分支名仓库地址

    克隆指定的分支:git clone -b 分支名仓库地址 git clone -b 分支名 仓库地址 -b 是在克隆的时候制定一个分支

  9. git命令学习之clone指定分支代码

    今天要拉取一个项目,但是是一个指定分支,本来我以为直接git clone就行,但是发现好像不能,报错: Cloning into 'lecture'...fatal: unable to update ...

随机推荐

  1. ES6技术之“判空方案”

    一.常用方案 直接判断 代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  2. .NET 6学习笔记(3)——在Windows Service中托管ASP.NET Core并指定端口

    在上一篇<.NET 6学习笔记(2)--通过Worker Service创建Windows Service>中,我们讨论了.NET Core 3.1或更新版本如何创建Windows Ser ...

  3. POJ 2236:Wireless Network

    描述 n台电脑,如果两台电脑间的距离的d范围内,则两台电脑能够连通. 如果AB连通,BC连通,则认为AC连通. 已知电脑台数N,最大距离d,以及每个电脑的坐标.有如下两种操作: O i 表示修复编号为 ...

  4. ES6实战:新数字方法

    本文翻译自:https://www.sitepoint.com/es6... 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 本文介绍了ES6中全新的数字方 ...

  5. 前端学习02:jQuery 日历

    引言:学习前端已经接近1个月了,先后经历了1周的 html+css, 2周的"JavaScript 从入门到下跪",期间还看了vue+webpack.然鹅,Mentor Brigh ...

  6. vue2.0开发聊天程序(八) 初步完成

    项目地址 服务器源码地址:https://github.com/ermu592275254/chat-socket 网页源码地址:https://github.com/ermu592275254/ch ...

  7. 记一次曲折的CVE-2018-1270复现分析

    前言 前两天接到朋友对某个授权目标的漏扫结果,也算是初次接触到这个漏洞,就想着顺手分析一下复现一下,因为分析这个漏洞的文章也比较少,所以刚开始比较迷,进度也比较慢. 漏洞复现 使用vulhub搭建环境 ...

  8. 微信小程序页面跳转参数传递

    可以使用标签直接传递 <navigator class="gotoDetail" target="self" url="../detail/de ...

  9. Go语言 映射(map)

    Go语言  映射(map) 1. 什么是 map2. 创建 map3. 访问 map4. nil map和空map5. map中元素的返回值6. len()和delete()7. 测试map中元素是否 ...

  10. Intel主板芯片组

    写这个的初衷还是由于linux内核本身就是硬件的抽象,如果你对硬件的相关发展,机制以及架构不了解,实际你也是看不懂linux内核代码以及看不懂linux很多命令输出的结果的,如果你看内核代码就会发现内 ...