当前位置: 首页 > news >正文

git 中 工作目录 和 暂存区 的区别理解

比喻解释

可以把工作目录和暂存区想象成两个篮子:

  • 工作目录是你把所有东西(文件和更改)扔进去的地方。你正在修改的东西都放在这里。
  • 暂存区则是你整理好的东西放进第二个篮子,准备提交给老板(提交到仓库)。

实际操作

假设你正在写一个项目,有三个文件 file1.txtfile2.txtfile3.txt

  1. 你修改了 file1.txtfile2.txt:这时候,这些文件在工作目录中有了修改。
  2. 你运行 git add file1.txt:这将 file1.txt 的修改放入了暂存区。file2.txt 依然只有在工作目录中有修改。
  3. 你现在有两部分修改
    • file1.txt 的修改在暂存区。
    • file2.txt 的修改在工作目录,但还没暂存。
  4. 如果你运行 git commit:只有暂存区中的 file1.txt 的修改会被提交。file2.txt 的修改不会被提交,因为它还在工作目录。

git reset --hard 举例

假设上面情况中你执行了 git reset --hard

  • 工作目录file2.txt 的修改会丢失,因为它还没有被暂存。
  • 暂存区file1.txt 的修改也会被移除,因为它虽然在暂存区,但还未提交。
  • 最后:你的项目会回到上一次提交时的状态,所有未提交的修改(无论在工作目录还是暂存区)都会丢失。

在这里插入图片描述

http://www.lryc.cn/news/513450.html

相关文章:

  • C++ 变量:深入理解与应用
  • http报头解析
  • 数据库的概念和操作
  • 《XML Schema 字符串数据类型》
  • idea 开发Gradle 项目
  • Keepalived + LVS 搭建高可用负载均衡及支持 Websocket 长连接
  • 产品经理2025年展望
  • 【信息系统项目管理师】第14章:项目沟通管理过程详解
  • 串口DMA接收数据基本思路
  • 数据结构复习 (二叉查找树,高度平衡树AVL)
  • FreeSWITCH 简单图形化界面39 - Windows安装FreeSWITCH For IPPBX(WSL环境)
  • uniapp - 小程序实现摄像头拍照 + 水印绘制 + 反转摄像头 + 拍之前显示时间+地点 + 图片上传到阿里云服务器
  • Qt天气预报系统设计界面布局第四部分左边
  • VS无法找到低版本的.net,vs2022创建不了.net6的项目
  • C++软件设计模式之解释器模式
  • 小程序发版后,用户使用时,强制更新为最新版本
  • 如何使用AI工具cursor(内置ChatGPT 4o+claude-3.5)
  • 说说缓存使用的具体场景都有哪些?缓存和数据库一致性问题该如何解决?缓存使用常见问题有哪些?
  • 2025-01-01 NO2. XRHands 介绍
  • Java开发-后端请求成功,前端显示失败
  • 未来20年在大语言模型相关研究方向--大语言模型的优化与改进
  • [react] 纯组件优化子
  • 美观强大的文件保险库Chibisafe
  • 详细教程:SQL2008数据库备份与还原全流程!
  • HTML——49.header和footer标签
  • 【蓝桥杯选拔赛真题87】python输出字符串 第十五届青少年组蓝桥杯python选拔赛真题 算法思维真题解析
  • OpenStack-Dashboard界面简单修改
  • DevOps工程技术价值流:Ansible自动化与Semaphore集成
  • 【服务器】上传文件到服务器并训练深度学习模型下载服务器文件到本地
  • 第四届电子信息工程与数据处理(EIEDP 2025)