git 将其它分支的文件检出到工作区

news2025/6/15 4:22:50

主要是使用如下命令:

git checkout [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] [--] <pathspec>…​

覆盖与 pathspec 匹配的文件的内容。当没有给出<tree-ish> (通常是一个commit)时,用 index 中的内容覆盖工作树。当给出<tree-ish>时,用<tree-ish>处的内容同时覆盖 index 和工作树。


由于前一个的合并失败,index 可能包含未合并的条目。默认情况下,如果您试图从 index 中检出这样的条目,则 checkout 操作将失败,并且不会检出任何内容。使用 -f 将忽略这些未合并的条目。可以使用 --ours--theirs 从 index 中检出合并的特定端的内容。使用-m,可以放弃对工作树文件所做的更改,以重新创建原始的冲突合并结果。

首先要弄清楚什么是工作树,什么是 index ?

Git的三种状态

现在注意 — 如果你想让剩下的学习过程顺利进行,这里是关于Git需要记住的主要事项。Git有三种主要状态,您的文件可以驻留在其中:modified, staged, 以及 committed

  • Modified 意味着您已经更改了文件,但尚未将其提交到数据库。
  • Staged 意味着您已经在当前版本中标记了修改后的文件,以便进入下一个 commit 快照。
  • Committed 意味着数据安全地存储在本地数据库中。

这就引出了Git项目的三个主要部分:工作树(working tree)、暂存区(staging area)和Git目录(Git directory)。

Figure 6. Working tree, staging area, and Git directory
Working tree, staging area, and Git directory
工作树是项目的一个版本的单个检出。这些文件从Git目录中的压缩数据库中提取出来,放在磁盘上供您使用或修改。

暂存区是一个文件,通常包含在Git目录中,用于存储有关下一次 commit 内容的信息。用Git的术语,它的技术名称是 index ,但短语 “staging area” 也同样有效。

Git目录是Git存储项目的元数据和对象数据库的地方。这是Git最重要的部分,也是从另一台计算机 clone 存储库时所复制的内容。

Git的基本工作流程如下:

  1. 您修改工作树中的文件。
  2. 您选择性地只暂存那些您希望成为下一次 commit 的一部分的更改,这只会将这些更改添加到暂存区域。
  3. 您执行一个 commit ,将文件保存在暂存区中,并将快照永久存储到Git目录中。

如果Git目录中有一个特定版本的文件,则认为该文件是 committed 。如果它已被修改并添加到暂存区域,则它就是 staged 。如果它在检出后发生了更改,但尚未暂存,那它是 modified 。在 Git Basics 中,您将了解更多关于这些状态的信息,以及如何利用它们或完全跳过 staged 的部分。


接下来步入正题,假如你有两个分支,分别为 masterdev ,您当前工作在 master 上,想将 dev 中 HEAD 处的 main.c 检出到工作区,按照如下命令操作:

首先需要知道 dev 分支 HEAD 处的 commit id ,比如是 a36ac44c5ac1d... ,执行如下命令:

git checkout a36ac44 -- main.c

注意,这一步执行完当前工作区与暂存区中的 main.c 都被改掉了,这可能不是您的本意,您可能只想改工作区,暂存区要保持不变,那么再执行下一步:

git reset -- main.c

这一步是将当前 master 分支 HEAD 所指向的 main.c 覆盖暂存区的 main.c ,这样暂存区的main.c 就与版本库里的一致了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/412140.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

高频电流探头示波器电流探头的功能检验和消磁操作

高频电流探头运用了成熟的霍尔效应技术并与示波器接口相结合。主要特点包括&#xff1a;分芯结构&#xff0c;简便地连接电路&#xff1b;AC / DC测量能力&#xff1b;精度1%5mV&#xff1b;连接的仪器上直接显示读数。 功能检验&#xff1a; 1、探头连接示波器&#xff1b; 2…

OpenAI Embedding:基于人工智能的搜索新篇章

theme: orange 本文正在参加「金石计划」 Embedding模型在许多应用场景中都有广泛的应用。在OpenAI中&#xff0c;文本嵌入技术主要用于衡量文本字符串之间的相关性。 什么是Embedding 嵌入(Embeddings)是一种将离散变量表示为连续向量的方法。它在机器学习中起到了不可或缺的作…

字节分享的软件测试《面试笔记》文档,让我直呼卧槽卧槽

我有一个朋友&#xff08;真是朋友&#xff0c;不是我啊&#xff09;&#xff0c;前几年环境好的时候入的行&#xff0c;那时候软件测试的要求真的很低&#xff0c;他那时好像是报了个班&#xff0c;然后入门的&#xff0c;但学的都是些基础&#xff0c;自动化涉及了一点&#…

天坑,后悔进那外包啊......

关于计算机专业应届生毕业之后会遇到的就业问题&#xff0c;网上已经有许多的套路&#xff0c;实际上许多人在选择专业的时候并没有考虑到之后的就业方向&#xff0c;甚至于自己所学的专业面向的工作岗位都不是特别清楚。计算机专业毕业大概率是要做程序员的&#xff0c;而目前…

【Java EE】-多线程编程(九) 锁策略CAS锁优化

作者&#xff1a;学Java的冬瓜 博客主页&#xff1a;☀冬瓜的主页&#x1f319; 专栏&#xff1a;【JavaEE】 分享&#xff1a; 主要内容&#xff1a;乐观锁VS悲观锁、轻量级锁VS重量级锁、自旋锁VS挂起等待锁、互斥锁VS读写锁、公平锁VS非公平锁、可重入锁VS不可重入锁。CAS实…

docker 执行springboot 报数据源找不到

本地运行springboot项目完全正常&#xff0c;在docker中开启容器&#xff0c;报错&#xff0c;如下&#xff1a; 解决方案&#xff1a;特别简单&#xff08;经过摸爬滚打得出来的结论&#xff09; <resources><resource><directory>src/main/resources</d…

Hum Brain Mapp | 双语者语言控制的遗传基础:一项EEG研究

双语者似乎具有一种独特的能力&#xff0c;在使用一种语言时暂时“忽略”另一种语言&#xff0c;避免无关语言不必要的干扰。这种排除干扰的过程被称为语言控制。部分研究认为双语者的语言控制是通过调用一系列执行功能&#xff0c;如抑制、注意控制、更新、冲突监测和工作记忆…

Linux 云服务器好用吗?(解读Linux云服务器的特点优势)

​  如今&#xff0c;云计算越来越受欢迎&#xff0c;许多公司正在将业务转移到那里。企业向云过渡的主要原因是它提供的众多服务&#xff0c;包括安全和充足的存储、数据库、服务器和其他关键元素。 作为相对前|沿的技术之一&#xff0c;云建立在虚拟服务器上。Linux 服务器…

2.30、守护进程(1)

2.30、守护进程&#xff08;1&#xff09;1.终端是什么2.进程组是什么3.会话是什么4.进程组、会话、控制终端之间的关系5.进程组、会话操作有哪些函数①pid_t getpgrp(void);②pid_t getpgid(pid_t pid);③int setpgid(pid_t pid, pid_t pgid);④pid_t getsid(pid_t pid);⑥pid…

【Java8】新的日期和时间API

【Java8】新的日期和时间API前言为什么要设计新的API&#xff1f;使用LocalDate、LocalTime、LocalDateTimeLocalDateLocalTimeLocalDateTime 合并日期和时间改变日期打印输出及解析日期-时间对象Date和LocalDate、LocalDateTime转换《Java8实战》读书笔记 前言 为什么要设计新…

十二载征程犹未止,看今朝星光尽闪耀丨万字长文回顾2023数据技术嘉年华

4月8日下午&#xff0c;为期两天的第十二届数据技术嘉年华&#xff08;DTC 2023&#xff09;在北京新云南皇冠假日酒店圆满落下帷幕。大会得到了工业和信息化部电子五所的支持和指导&#xff0c;围绕“开源融合数字化——引领数据技术发展&#xff0c;释放数据要素价值”这一主…

基于Spring Boot和Vue3打造一个属于自己的博客平台CodeInsight

CodeInsight是一个基于Spring Boot和Vue3技术栈的博客平台&#xff0c;为开发者和技术爱好者提供了一个专注于现代编程技术分享与学习的高质量平台。在本文中&#xff0c;我们将详细介绍CodeInsight的特点、功能模块以及付费专栏内容。 目录: 《用户体验与交互设计实践》 用户模…

AI新宠:Prompt Learning,用提示学习调教大模型

“提示学习”对于很多人来说都是新名词&#xff0c;Prompt Learning 和 Prompting 这两者之间有什么区别和联系呢&#xff1f;现在的一些大模型如何利用“提示语言”呢&#xff1f;本期直播课为大家做了详细介绍&#xff0c;从 AI 范式的一个变迁&#xff0c;到提示学习&#x…

LVGL V9.0基于VS2022仿真搭建(2)

完整Demo&#xff0c;lvgl,lvgl_drivers相关资料下载 链接&#xff1a;https://pan.baidu.com/s/1h3OKCIBQRX0Hn7KjZsynqg 提取码&#xff1a;sc2l 下载的lv_drivers中的win32drv.c及win32drv.h文件是做了修改的&#xff0c;官网下载的lv_drivers编译会报错&#xff0c;因为l…

数据类型。

数据类型分为简单数据类型&#xff08;值类型&#xff09;和复杂数据类型&#xff08;引用类型&#xff09;值类型&#xff1a;在存储时变量中存储的是值本身&#xff08;string、number、boolean、undefined、null&#xff08;null特殊&#xff0c;返回一个空的对象 object&am…

2023年第十三届MathorCup高校数学建模挑战赛|A题|量子计算机在信用评分卡组合优化中的应用

目录 题目详情 最终收入 贷款利息收入 &#xff0d; 坏账损失 赛题说明 1&#xff1a;流程简化及示例 赛题说明 2&#xff1a;QUBO 模型简介 赛题说明 3&#xff1a;赛题数据 问题​ 题目详情 在银行信用卡或相关的贷款等业务中&#xff0c;对客户授信之前&#xff0c;需…

mycat2安装配置,分库分表,一库多表

1、官网下载&#xff08;官网下载地址&#xff09; 官网下载地址 Index of /2.0/ 下载模板 下载jdk包 下载好后吧jdk包房到mycat的lib目录下 2、配置启动 配置结构 mycat配置文件夹 clusters- prototype.cluster.json //无集群的时候自动创建- c0.cluster.json- c1.cluster…

jupyter notebook笔记 visualpython

通过界面拖拽生成Python代码 0 安装 pip install visualpythonvisualpy install 出现橙色按钮即为成功 1 主界面 2 logic 一些简单的逻辑运算 以class 为例&#xff1a; 3 Data Analysis 3.1 import 3.2 File&#xff08;数据集&#xff09; 3.2.1 读本地文件 3.2.2 写…

【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

基于深度学习的农作物叶片病害检测系统(UI界面+YOLOv5+训练数据集)

摘要&#xff1a;农作物叶片病害检测系统用于智能检测常见农作物叶片病害情况&#xff0c;自动化标注、记录和保存病害位置和类型&#xff0c;辅助作物病害防治以增加产值。本文详细介绍基于YOLOv5深度学习模型的农作物叶片病害检测系统&#xff0c;在介绍算法原理的同时&#…