如何克隆特定的 Git 分支? [复制]

2023-05-16

问:

这个问题在这里已经有了答案:How do I clone a single branch in Git? (26 个回答) 8 年前关闭。

Git clone 会将远程分支克隆到本地。

有没有什么方法可以自己克隆一个特定的分支,而无需在远程存储库上切换分支?

答1:

huntsbot.com精选全球7大洲远程工作机会,涵盖各领域,帮助想要远程工作的数字游民们能更精准、更高效的找到对方。

git clone -b  

例子:

git clone -b my-branch git@github.com:user/myproject.git

对于 Git 1.7.10 及更高版本,添加 --single-branch 以防止获取所有分支。例如,使用 OpenCV 2.4 分支:

git clone -b opencv-2.4 --single-branch https://github.com/Itseez/opencv.git

pierr:我不确定这是否回答了上面给出的问题的描述,但它确实回答了实际问题——如何克隆存储库的特定分支。我对此投了赞成票,因为这是我在访问此页面时在谷歌上搜索的答案。

这行得通。它将新 HEAD 指向指定的分支,而不是 myproject 中的 HEAD-branch。但是,它仍然获取所有分支。请参阅@edmar-miyake 的回答。

如果您将 --depth X 添加到命令,它会回答问题的描述。如果这样做,它将仅克隆指定的分支及其最后的内容。

谢谢--single-branch;撰写本文时,git 2.5 已经发布。不关心旧版本。

@jorge 为什么 -b 选项需要单独的 --single-branch 标志? -b 单独克隆所有分支吗?

答2:

huntsbot.com汇聚了国内外优秀的初创产品创意,可按收入、分类等筛选,希望这些产品与实践经验能给您带来灵感。

git clone --single-branch --branch  

–single-branch 选项从版本 1.7.10 及更高版本开始有效。

另请参阅许多人喜欢的other answer。

您可能还想确保您了解其中的区别。不同之处在于:通过调用 git clone --branch url,您将获取 所有 分支并签出一个。例如,这可能意味着您的存储库有一个 5kB 的文档或 wiki 分支和 5GB 的数据分支。每当你想编辑你的首页时,你最终可能会克隆 5GB 的数据。

同样,这并不是说 git clone --branch 不是实现该目标的方法,只是当您询问克隆特定分支时,它并非总是您想要完成的。

评论不用于扩展讨论;此对话已moved to chat。

请原谅我,你确定你所说的“你正在获取所有......”的部分吗?我在某处读到 git fetch 实际上并没有“复制”任何文件,它只是获取元数据和有关更改的信息。所以它应该是相对轻量级的......也许你从字面上使用了“fetch”这个词,而不是来自 git 词汇表?

@aderchox,不,它实际上会获取所有内容。更新时它传输的东西非常聪明,但是当您克隆一个大存储库时,它实际上会提取历史记录,除非您明确告诉它不要这样做。但它仍然会获取分支的尖端。 git fetch 没有 - 它不签出文件,但这与传输无关。

通常您还需要 --depth 1,以便您只获得最新的。这可以节省大量的下载时间。

git clone -b branch_name --single-branch 'repo_url'

答3:

huntsbot.com – 程序员副业首选,一站式外包任务、远程工作、创意产品分享订阅平台。

这是一个非常简单的方法:)

克隆存储库

git clone 

列出所有分支

git branch -a 

签出您想要的分支

git checkout 

这将工作目录切换到正确的分支,但我无法推送我所做的任何更改,因为我不是“当前在分支上”。

这是我的解决方案,因为我已经克隆了“master”。我不知道我可以简单地“结帐”一个远程分支。

这可能是正确的方法;最佳实践

这种方式不会只克隆选择的分支。这个答案似乎更好:stackoverflow.com/a/7349740/3075243。例如,如果一个 repo 有许多足够大的分支,我们不想克隆每个分支。

很干脆的回答。您还需要做的另一件事是: 在这一步之后:“git checkout ” 这样做: git branch --set-upstream-to=origin/ 谢谢。

答4:

huntsbot.com – 高效赚钱,自由工作

要克隆一个分支而不获取其他分支:

mkdir $BRANCH
cd $BRANCH
git init
git remote add -t $BRANCH -f origin $REMOTE_REPO
git checkout $BRANCH

很好的解决方案。在较旧的 git(我有 1.5.5.6)上,结帐前可能需要一个 git branch --track $BRANCH origin/$BRANCH 。

有效,并且只获取分支上存在的那些标签,这正是我想要的。 (我实际上想获取 多个 分支,但只获取选定的分支;为此,只需像这里一样重复 remote add 和 checkout,然后 git remote rm origin 即可清理。)

在另一个项目中浅层合并 git repo 的特定标签的完美解决方案。建议在 git 远程命令中省略 -f,然后使用 git fetch --depth=1 $BRANCH $TAG,然后使用 git checkout FETCH_HEAD。 init 是无害的,更改标签会自动更新签出的代码。

与 Michael Krelin 的(3 步)答案不同,这个答案实际上对我有用(git 1.7.9.5)

经过很多失败后,这段代码对我有用.. git version 2.9.2

答5:

huntsbot.com高效搞钱,一站式跟进超10+任务平台外包需求

git checkout -b  

例如在我的情况下:

 git branch -a
* master
  origin/HEAD
  origin/enum-account-number
  origin/master
  origin/rel_table_play
  origin/sugarfield_customer_number_show_c

因此,要根据我的 enum-account-number 分支创建一个新分支,我会这样做:

git checkout -b enum-account-number origin/enum-account-number

点击返回后会发生以下情况:

Branch enum-account-number set up to track remote branch refs/remotes/origin/enum-account-number.
Switched to a new branch "enum-account-number"

请注意,首先 git pull origin 可能很有用,以便 git branch -a 可以列出所有新的(当前)远程分支。

好点子。不过,git fetch 可能更好,这样就不会发生自动合并。

答6:

huntsbot.com全球7大洲远程工作机会,探索不一样的工作方式

使用该名称在本地系统上创建一个分支。例如,假设您想要获得名为 branch-05142011 的分支

git branch branch-05142011 origin/branch-05142011

它会给你一个消息:

$ git checkout --track origin/branch-05142011
Branch branch-05142011 set up to track remote branch refs/remotes/origin/branch-05142011.
Switched to a new branch "branch-05142011"

现在只需检查下面的分支,您就有了代码

git checkout branch-05142011

这也可以: git fetch origin [remote-branch]:[new-local-branch]

做对了。 Miyake(下)展示了添加遥控器时的操作方法。

那应该说,“PlanetUnknown 说得对。”

@PlanetUnknown 感谢git fetch origin [remote-branch]:[new-local-branch],我喜欢它!

git fetch origin [remote-branch]:[new-local-branch] 获胜

答7:

保持自己快人一步,享受全网独家提供的一站式外包任务、远程工作、创意产品订阅服务–huntsbot.com

git --branch  

但是 bash 完成没有得到这个键:–branch

原文链接:https://www.huntsbot.com/qa/6LDJ/how-do-i-clone-a-specific-git-branch?lang=zh_CN&from=csdn

保持自己快人一步,享受全网独家提供的一站式外包任务、远程工作、创意产品订阅服务–huntsbot.com

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何克隆特定的 Git 分支? [复制] 的相关文章

  • 如何成为一个优秀的C++开发工程师?

    目前主流的后端开发语言有很多 xff0c 而C 43 43 开发语言 xff0c 就是其中的一种 xff0c 并且有很多人想要成为C 43 43 开发工程师 那么如何才能成为一名优秀的C 43 43 开发工程师 xff1f 掌握游戏开发之物
  • 深入了解C语言和C++哪个更难?

    众所周知C语言与C 43 43 都是主流的开发语言 xff0c 并且在大多数人看来C语言的学习难度要更难 xff0c 那事实是怎么样的呢 xff1f 接下来小编带你深入了解下C语言和C 43 43 哪个更难 xff1a 深入了解C语言和C
  • ffmpeg分析 之 如何解析mpegts流

    转 xff1a http blog chinaunix net uid 20364597 id 3530284 html ffmpeg分析 之 如何解析mpegts流 2013 03 19 11 02 40 分类 xff1a LINUX 数
  • 使用input上传图片并本地预览

    话不多说上代码 span class token operator lt span div id span class token operator 61 span span class token string 34 app 34 spa
  • 1、【STM32】学习初探(方法及准备)

    前言 由于个人原因已经有好长时间没搞了 xff0c 最近工作需要 xff0c 但是拿起32基本上都忘记差不多了 xff0c 接下来一段时间将急中学习一下STM32的基础知识 以前是学习的库函数版本 xff0c 有一定的基础 xff0c 因此
  • Pixhawk入门指南-目录

    文章转载自 xff1a http www ncnynl com archives 201701 1271 html APM PX4 Pixhawk入门指南 目录 介绍 xff1a APM xff08 ArduPilotMega xff09
  • 初学PX4之环境搭建

    文章转自 xff1a http www jianshu com p 36dac548106b 前言 前段时间linux崩溃了 xff0c 桌面进去后只有背景 xff0c 折腾好久没搞定 xff0c 为了节省时间索性重装了系统 xff0c 同
  • C++构造函数后面的冒号

    构造函数后加冒号是初始化表达式 xff1a 有四种情况下应该使用初始化表达式来初始化成员 xff1a 1 xff1a 初始化const成员 2 xff1a 初始化引用成员 3 xff1a 当调用基类的构造函数 xff0c 而它拥有一组参数时
  • 01python画的玫瑰

    刚开始学习python xff0c 还处于菜鸟阶段 xff0c 这段时间学习了turtle库 xff0c 纯手工画了一朵玫瑰 xff0c 拿出来与大家分享 xff01 源码地址 xff1a https github com YinZhong
  • 02turtle模块常用函数

    turtle模块函数
  • 04主存储器、BIOS和CMOS存储器

    主存储器 BIOS和CMOS存储器 一 PC AT机内存使用图 二 ROM BIOS 存放在ROM中的系统BIOS程序主要用于计算机开机时执行系统各部分的自检 xff0c 建立系统需要使用的各种配置表 xff0c 例如中断向量表 硬盘参数表
  • 06异常处理

    python的异常处理 python使用try except xff0c 可使程序不因为运行错误而崩溃 结构如下 xff1a try span class hljs tag lt span class hljs title body spa
  • 07turtle库的进阶使用

    turtle库的进阶使用 turtle库以屏幕中心为绘制原点利用代码绘制一棵树 span class hljs keyword import span turtle span class hljs string 34 34 34 plist
  • 结束,也是开始

    结束 xff0c 也是开始 序言 看到CSDN征文要求 xff0c 感觉非常适合自己 四年前的自己正在参加高考 xff0c 转眼四年过去了 xff0c 自己也即将步入社会 xff0c 四年的大学生活感慨颇多 xff0c 谨以此文作为自己的阶
  • 01策略模式

    策略模式 最近在看 Head First设计模式 这本书 xff0c 最大的感触就是 xff0c 原来写代码也是有 套路 的 xff0c 刚学了策略模式 xff0c 用C 43 43 实现了一下 xff0c 做个笔记 xff0c 备忘 xf
  • 1、STM32CubeMX和STM32Cube库(HAL)详细介绍

    目录 前言 STM32Cube生态 STM32Cube 是什么 xff1f STM32Cube 软件工具套件 STM32Cube Embedded 软件 STM32CubeMX 编辑 前言 也许大家在学习正点原子或者其他32视频和代码的时候
  • 安卓SATA自动挂载实例

    平台 xff1a IMX6 OS 安卓4 2和安卓4 4 查看挂载log信息 xff1a logcat s Vold MountService 手动挂载 xff1a mount t ntfs dev block mnt mount t v
  • linux驱动开发 - 12_platform 平台驱动模型

    文章目录 platform 平台驱动模型1 platform 总线platform匹配过程 2 platform 驱动platform 驱动框架如下所示 xff1a 3 platform 设备platform 设备信息框架如下所示 xff1
  • 多旋翼飞行器设计与控制(二):基本组成

    一 前言核心问题 二 总体介绍多旋翼系统内部布局 三 机架机身起落架涵道 四 动力系统概述螺旋桨电机电调电池 五 指挥控制系统遥控器和接收器自动驾驶仪地面站数传 一 前言 核心问题 xff08 1 xff09 多旋翼组成结构 机架动力系统控
  • 多旋翼飞行器设计与控制(三):机架设计

    一 布局设计机身基本布局旋翼的安装旋翼和机体半径 xff1a 尺寸和机动性关系 xff1a 重心位置 xff1a 自驾仪安装位置 xff1a 气动布局 xff1a 二 结构设计机体基本设计原则减振设计减噪设计 一 布局设计 机身基本布局 交

随机推荐

  • SLAM学习——使用ARUCO_marker进行AR投影

    一 简介 1 1 目标 增强现实技术 xff08 Augmented Reality xff0c 简称 AR xff09 xff0c 是一种实时地计算摄影机影像的位置及角度并加上相应图像 视频 3D模型的技术 xff0c 这种技术的目标是在
  • k8s安装Prometheus

    注 xff1a 必须要先搭建网页管理容器 xff1b k8s部署dashboard kali yao的博客 CSDN博客 1 Prometheus的概述 Prometheus是一个最初在SoundCloud上构建的开源监控系统 它现在是一个
  • Logstash完成ELK集群

    注 xff1a 本文与同步 9条消息 搭建Elasticsearch和kibana完成初步ELK日志分析平台搭建 kali yao的博客 CSDN博客 logstash搭建 1 logstash介绍 什么是logstash 是一个数据采集
  • SQL基本语句及用法

    目录 一 基本SQL语句用法及概述 1 常用MySQL命令 2 语法规范 3 SQL语句分类 二 数据查询语言 1 基础查询 1 xff09 查询的字段列表可以是字段 常量 表达式 函数等 2 xff09 使用别名 xff0c 字段名和别名
  • PyCharm 社区版 安装 教程(Windows)

    注 xff1a 如果已经安装过python 3 5 及以上版本的解释执行器则跳过此步骤 下载 PyCharm 社区版 软件 PyCharm windows 版本 安装包如下 Thank you for downloading PyCharm
  • 监控zabbix面试题

    目录 1 我们可以用zabbix监控哪些 2 zabbix的主动监控与被动监控 3 Zabbix监控做过哪些 4 zabbix监控mysql的四大性能指标 5 配置zabbix自定义监控流程 6 安全组是什么 xff0c 限制了3306的入
  • 【ros学习】12.ros启动gazebo时摄像头的发布进程被杀死,导致rqt_image_view无法显示画面

    ros启动gazebo时摄像头的发布进程被杀死 xff0c 导致rqt image view即使订阅了正确的话题也无法显示画面 原因是gazebo的版本过低 xff0c 与Rviz不兼容 ubuntu16 04匹配的ros版本是kineti
  • 系统运维面试题

    目录 1 什么是运维 什么是游戏运维 2 在工作中 xff0c 运维人员经常需要跟运营人员打交道 xff0c 请问运营人员是做什么工作的 xff1f 3 请描述下linux 系统的开机启动过程 4 为什么连接的时候是三次握手 xff0c 关
  • Xshell的使用

    本文修改于 xff1a 高效使用XSHELL 简书 jianshu com https www jianshu com p 67b83d3f2e40 一 XShell的概述 1 XSHELL是什么 Xshell是用于Windows平台的功能
  • linux下解压rar和7z压缩文件

    在windows下我们压缩解压文件通常后缀为rar xff0c 在linux下我们压缩解压文件通常后缀为tar 默认在linux下我们不能解压压缩rar文件 我们可以下载rarlinux安装包实现解压压缩后缀为rar的包 下载地址 xff1
  • Filebeat输出json格式的日志并指定message字段的值

    目录 1 开启json格式所需的字段概述 2 配置示例 3 如果问题没有解决可点击官网 1 开启json格式所需的字段概述 filebeat配置input要有以下字段 json keys under root true json overw
  • Prometheus添加邮件告警和企业微信机器人告警

    我们将在 Prometheus 服务器上编写警报规则 xff0c 这些规则将使用我们收集的指标并在指定的阈值或标准上触发警报 xff0c 收到警报后 xff0c Alertmanager 会处理警报并根据其标签进行路由 一旦路径确定 xff
  • 麒麟ARM64制作nginx,java,php,node基础镜像

    一 环境准备 1 网上搜底层镜像 麒麟容器基础镜像 xff1a docker search kylin 镜像准备 docker pull kylin 注 xff1a 最好自己制作底层镜像 2 自己做底层镜像 注 xff1a 做镜像时需要在麒
  • docker部署简易Prometheus

    注 xff1a 部署前可以先系统的学习一下 xff1a Introduction Prometheus中文技术文档 在之后需要书写自定义告警的 xff0c 需要在学习一下PromQL语言 xff0c 一般网上也能搜到 xff0c 可以在安装
  • k8s面试题-进阶

    1 简述etcd及其特点 etcd是CoreOS团队发起的开源项目 xff0c 是一个管理配置信息和服务发现 xff08 service discovery xff09 的项目 xff0c 它的目标是构建一个高可用的分布式键值 xff08
  • 制作Alpine Linux镜像报错errors: 15 distinct packages available

    1 执行报错 执行docker build t 镜像 版本 f Dockerfile 报错 xff1a 2 查看网上的解决思路 网上文档解决思路 xff1a 这边我做了一下改变把这些写入了dockerfile 加了几个RUN RUN rm
  • C++ class与struct的区别

    在C语言中 xff0c struct是作为数据类型存在的 xff0c 因此其中只能包含变量 xff0c 不可以包含函数 xff0c 结构相对简单 而C 43 43 采用OOP编程思想 xff0c 为struct扩充了很多属性 xff0c 使
  • 【ros学习】13.URDF机器人建模详解

    一 URDF简介 URDF xff08 Unified Robot Description Format xff09 统一机器人描述格式 xff0c URDF使用XML格式描述机器人文件 URDF语法规范 xff0c 参考链接 xff1a
  • 如何强制“git pull”覆盖本地文件?

    问题描述 xff1a 如何强制覆盖 git pull 上的本地文件 xff1f 我的本地存储库包含一个文件名与服务器上相同的文件 错误 xff1a 未跟踪的工作树文件 example txt 将被合并覆盖 解决方案1 huntsbot co
  • 如何克隆特定的 Git 分支? [复制]

    问 xff1a 这个问题在这里已经有了答案 xff1a How do I clone a single branch in Git 26 个回答 8 年前关闭 Git clone 会将远程分支克隆到本地 有没有什么方法可以自己克隆一个特定的