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

【add vs commit】Git 中的 add 和 commit 之间的区别

关于git addgit commit还有一些有点不太清楚的地方,这里写一篇文章好好理一理

git add:添加到暂存区

git add实际上是把工作区中的内容存入“暂存区”

通俗来讲就是告诉Git:“这些文件我准备好commit了”

git add file.txt  # 添加单个文件
git add . # 添加当前目录下所有有变动的文件
git add -A # 添加所有变化(包括删除)

关键

git add并不会真正的“保存修改”,只是把想要提交的文件标记出来

git commit:提交到本地仓库

git commit就是把暂存区的内容真正的提交到本地仓库的历史中,并且生成一个commit的快照,也就是我们可以在git log中看到的 commit 记录
如图:
git-log

通俗来讲就是**“真正地记录一次历史”**

关键

只有执行了git commit之后,这些改动才变成了真正的 Git 历史的一部分

二者类比

操作用写文章类比
git add把写好的内容放进打印队列中
git commit按下打印键,把内容打印出来

一般的操作流程

# 对文件做修改....
git status
git add <文件名>
git commit -m "change something"

我们在协作过程中是先git add,将内容放入暂存区之后才git commit提交暂存区中的内容,没有通过git add加入暂存区的内容不会被我们 commit 到历史记录中

commit之后

在执行

git commit -m "some change"

之后
Git 会将暂存区中所有内容写入 Git 历史,即提交一个新的 commit
然后暂存区会变成与当前commit相同的状态,也就是暂存区中不再有需要commit的内容了,再运行git status会显示:

nothing to commit, working tree clean

所以git commit之后暂存区会被“清空”,变成与最新提交一致的状态。
而没有被add的修改,不会与 commit 产生关联

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

相关文章:

  • PLUS模型+生态系统服务多情景模拟预测实践技术
  • 大语言模型幻觉检测:语义熵揭秘
  • Reddit Karma是什么?Post Karma和Comment Karma的提升指南
  • 精彩代码分析-1
  • 光伏项目快速获取地址,三种地图赋能设计
  • 倪海厦全套下载,八纲辨证,人纪,天纪,针灸,电子版
  • vue3中高阶使用与性能优化
  • Day04_C语言网络编程20250716
  • Nginx,MD5和Knife4j
  • PHP面向对象编程:类与对象的基础概念与实践
  • Uniapp中双弹窗为什么无法显示?
  • Coze工作流无法更新问题处理
  • React+Next.js+Tailwind CSS 电商 SEO 优化
  • 2_概要设计编写提示词_AI编程专用简化版
  • 正确选择光伏方案设计软件:人力成本优化的关键一步
  • 【技术追踪】基于检测器引导的对抗性扩散攻击器实现定向假阳性合成——提升息肉检测的鲁棒性(MICCAI-2025)
  • 第五届计算机科学与区块链国际学术会议(CCSB 2025)
  • Java大厂面试实录:从电商场景到AI应用的深度技术考察
  • 【计算机网络】数据通讯第二章 - 应用层
  • CentOS网络配置与LAMP环境搭建指南
  • 【后端】.NET Core API框架搭建(6) --配置使用MongoDB
  • 用Amazon Q Developer助力Python快捷软件开发
  • nextjs+react项目如何代理本地请求解决跨域
  • LiFePO4电池的安全详解
  • 从缓存 CAS 看Kimi K2使用的MuonClip优化器
  • 工业网络协议桥接设计指南:从LIN到CAN/RS-232的毫秒级互通方案
  • DNS防护实战:用ipset自动拦截异常解析与群联AI云防护集成
  • 深入核心:理解Spring Boot的三大基石:起步依赖、自动配置与内嵌容器
  • Spring Boot 源码解析之 Logging
  • 阿里云 RabbitMQ 可观测性最佳实践