tig 的untracked changes和unstaged changes含义?

作者:aoxiang_ywj日期:2025/12/13

背景:你理解tig中untracked changes和unstaged changes的含义?它们对应的代码存在哪里呢?在本地仓库?提交到gitlab线上库了?下面将解答这些疑问。

一、核心结论先明确

tig 中显示的 Untracked changes(未跟踪变更)和 Unstaged changes(未暂存变更)都属于本地工作区的修改,完全没有提交到 GitLab 线上库,甚至连「本地仓库的提交(commit)」都没完成 —— 它们和 GitLab 线上库没有任何关联,仅存在于你的本地电脑。

要理解这两个概念,需先理清 Git 的「三层本地结构」(工作区 → 暂存区 → 本地仓库),以及和「远程仓库(GitLab 线上库)」的关系:

1本地工作区(Working Directory)→ 暂存区(Staging Area)→ 本地仓库(Local Repo)→ 远程仓库(GitLab 线上库)
2

Untracked/Unstaged changes 都停留在「本地工作区」,连第一步「暂存区」都没进入,自然和 GitLab 无关。

二、逐词拆解含义

1. Untracked changes(未跟踪的变更)
  • 核心定义:文件是「全新创建的」,Git 从未记录过这个文件(既不在暂存区,也不在本地仓库),Git 完全 “不知道” 这个文件的存在。比如你在项目里新建了 new_file.cpp,但没执行 git add new_file.cpp,这个文件就会被标记为 Untracked
  • tig 中的表现:在 tig status 视图(执行 tig status 进入)中,这类文件会单独列在「Untracked files」区域,通常标红 / 高亮。
  • 和 GitLab 的关系:完全无关,GitLab 线上库根本不知道这个文件存在。
2. Unstaged changes(未暂存的变更)
  • 核心定义:文件是 Git「已跟踪的」(比如之前提交过到本地仓库),但本次修改后没有执行 git add(即没把修改放到「暂存区」)。比如你修改了已提交过的 old_file.cpp,但没执行 git add old_file.cpp,这个文件的修改就会被标记为 Unstaged
  • tig 中的表现:在 tig status 视图中,这类文件列在「Changes not staged for commit」区域,会显示具体的代码行变更(+/-)。
  • 和 GitLab 的关系:同样无关,仅停留在本地工作区,既没进入暂存区,也没提交到本地仓库,更没推到 GitLab。

三、关键区分:不同状态和 GitLab 的关联

状态类型所处 Git 区域是否提交到本地仓库是否提交到 GitLab 线上库
Untracked changes工作区❌ 否❌ 否
Unstaged changes工作区❌ 否❌ 否
Staged changes(已暂存)暂存区❌ 否(待提交)❌ 否
Committed changes(已提交)本地仓库✅ 是❌ 否(需 git push)
Pushed changes(已推送)远程仓库✅ 是✅ 是

只有当修改经过「git add(暂存)→ git commit(本地提交)→ git push(推远程)」三步后,才会真正提交到 GitLab 线上库。

四、tig 中查看这些变更的实操

1# 1. 进入 tig 的状态视图(专门显示工作区/暂存区变更)
2tig status
3
4# 2. 视图内操作:
5# - 上下箭头:选中不同的变更文件
6# - Enter:查看该文件的详细行级变更(和 tig 查看提交 diff 操作一致)
7# - q:退出状态视图,回到 tig 主界面
8# - u:在 tig status 中,选中 untracked 文件按 u  快速执行 git add(标记为 staged)
9# - U:选中 unstaged 文件按 U  快速执行 git add(标记为 staged)
10

总结

  • Untracked changes:Git 没见过的新文件,仅在本地工作区;
  • Unstaged changes:Git 认识的文件但本次修改没暂存,仅在本地工作区;
  • 两者都未提交到本地仓库,更不可能出现在 GitLab 线上库;
  • 只有完成 git add(暂存)→ git commit(本地提交)→ git push(推远程),修改才会同步到 GitLab 线上库。

tig 的untracked changes和unstaged changes含义?》 是转载文章,点击查看原文


相关推荐


iOS内存映射技术:mmap如何用有限内存操控无限数据
sweet丶2025/12/5

当一个iOS应用需要处理比物理内存大10倍的文件时,传统方法束手无策,而mmap却能让它流畅运行。这种神奇能力背后,是虚拟内存与物理内存的精密舞蹈。 01 内存管理的双重世界:虚拟与物理的分离 每个iOS应用都生活在双重内存现实中。当你声明一个变量或读取文件时,你操作的是虚拟内存地址,这是iOS为每个应用精心编织的“平行宇宙”。 这个宇宙大小固定——在64位iOS设备上高达128TB的虚拟地址空间,远超任何物理内存容量。 虚拟内存的精妙之处在于:它只是一个巨大的、连续的地址范围清单,不直接对应


Apache Tika XXE注入漏洞 | CVE-2025-66516 复现&研究
探索宇宙真理.2025/12/21

0x0 背景介绍 Tika Pdf Parser Module是Apache软件基金会开发的Java库,专用于解析PDF文件内容。核心功能包括文本提取、元数据解析及嵌入式对象处理,基于Apache Tika框架实现,依赖PDFBox等开源库。 Apache Tika的tika-core(1.13-3.2.1)、tika-pdf-module(2.0.0-3.2.1)和tika-parsers(1.13-1.28.5)模块存在严重XXE漏洞(跨平台),攻击者可通过构造PDF内的XFA文件实施XM


Git/Gitee/GitHub有什么区别
lifewange2025/12/31

Git、GitHub、Gitee(码云)三者核心区别 & 完整详解 你想弄清楚这三者的关系和差异,本质上Git 是「工具」,GitHub/Gitee 是「平台」,这是最核心的定位区别,三者不是同一维度的东西,先把这个核心逻辑吃透,所有差异就一目了然了。 ✅ 一、三者的「本质定位」(最核心,必记) 1. Git —— 本地的「版本控制系统」(纯软件 / 工具) Git 是一个免费、开源的分布式版本控制软件,它是一个安装在你电脑本地的程序 / 工具,不依赖任何网络、不依赖任何网站就能独立运行


如何在CentOS 7.9 服务器上配置并优化 Ceph 分布式存储集群,提升数据冗余与性能?
A5IDCCOM2026/1/8

本文基于A5IDC在真实生产环境(跨机房 Ceph 集群支撑虚拟机盘、对象存储及容灾复制)的实战经验,详细讲解如何从零部署 Ceph 集群在 CentOS 7.9 上,并通过硬件配置选择、网络优化、Ceph 参数调优等实用细节提升 数据冗余能力与性能表现。文章包含具体产品型号、系统配置表、命令示例与性能评估对比表,适合中大型数据中心储存架构实施。 一、背景与目标 随着业务系统对海量数据持久层的要求不断提升,我们需要一个高可靠、易扩展、具有自动自愈能力的分布式存储平台。Ceph 是开源生态


图解DeepSeek最新论文,人人都能看得懂!
饼干哥哥2026/1/16

DeepSeek 又发论文了。 这一次,没有惊天动地的参数军备竞赛,没有万卡集群的暴力美学。 他们只是冷静地指出了当前 AI 届一个“皇帝的新衣”: 我们最顶尖的大模型,其实都在做着极其愚蠢的事情。 在这篇名为《Conditional Memory via Scalable Lookup》(基于可扩展查找的条件记忆)的论文中,DeepSeek 创始人梁文锋亲自署名,揭示了下一代大模型架构(V4?)的核心秘密:与其让模型更努力地“思考”,不如教它学会“作弊”。 01.愚蠢的天才:为什么要用算力去


Linux软件安装 —— Flink集群安装(集成Zookeeper、Hadoop高可用)
吱唔猪~2026/1/25

文章目录 一、节点说明二、配置节点间免密登录三、JDK安装四、Zookeeper安装五、Hadoop安装六、Flink安装1、基础环境准备(1)下载安装包(2)上传并解压 2、修改配置(1)配置zookeeper(2)配置flink-conf.yaml(3)配置workers(4)创建必要的目录(5)配置环境变量 3、分发flink 七、集群测试1、启动zookeeper,hadoop2、Yarn Session测试(1)模式介绍(2)准备测试资源


Java8 API文档搜索引擎_优化构建索引速度
_周游2026/2/3

本专栏前文已介绍完成索引模块程序: https://blog.csdn.net/m0_63299495/article/details/157515700?spm=1011.2415.3001.5331https://blog.csdn.net/m0_63299495/article/details/157515700?spm=1011.2415.3001.5331并对关键部分进行了细节整理: https://blog.csdn.net/m0_63299495/article/details


为什么 Memo Code 先做 CLI:以及终端输入框到底有多难搞
mCell2026/2/12

同步至个人站点:为什么 Memo Code 先做 CLI:以及终端输入框到底有多难搞 如果你对我的 Code Agent项目感兴趣,可以看这里: Github Repo: Memo Code - Github 站点:Memo Web Site 大概四年前,我刚接触编程。学的是 C 语言,第一个程序当然是 hello world。 很简单,几行就写完。run 一下,弹出来一个 terminal(我已经忘了当时用的是什么:cmd?PowerShell?反正不重要),然后打印了一行: “hell


花 200 美刀买“黑盒”?Claude Code 这波更新,把程序员当傻子了吧…
Dcs2026/2/21

有些产品吧,功能再强,只要开始“藏事儿”,程序员的雷达立马就响了: 你到底读了哪个文件?你到底搜了啥?你到底改了啥?——别跟我说“别管细节,反正我很聪明”。哥们,工程不是玄学,是可验证、可追溯、可复盘。 然后,Claude Code 2.1.20 就真把这事做了:把“读取文件路径”和“搜索 pattern”这种最基础的可观测信息,直接干没了。 1)更新前 vs 更新后:从“可审计”变成“随缘”🤡 以前你会看到它读了哪些文件、搜了什么关键词,属于那种一眼就能判断它有没有跑偏的“低噪音透明输出”


在OrangePi-5 Plus/5 Ultra上实时运行yolo26进行无人机检测,fps超50!
吃素的力2026/3/1

在OrangePi-5 Plus/5 Ultra上使用VideoPipe与YOLO26n实现高性能无人机检测 视频效果展示 RK3588无人机检测 前言 随着低空经济的快速发展,无人机检测已成为安防监控、边境巡逻、关键区域保护等场景中的重要需求。OrangePi 5 Plus和OrangePi 5 Ultra作为瑞芯微RK3588平台的高性能开发板,凭借其强大的NPU算力,成为边缘端AI推理的理想选择。 本文将详细介绍如何基于VideoPipe框架,结合最新的Y

首页编辑器站点地图

本站内容在 CC BY-SA 4.0 协议下发布

Copyright © 2026 XYZ博客