Skip to content

git status

用 git status 检查仓库状态——你的 Git 仪表盘。

你将学到

  • 如何阅读 git status 输出
  • 三个部分:已暂存、未暂存和未追踪
  • 用 git status -s 获取紧凑视图
  • 为什么应该频繁运行 git status

概念讲解

git status 做什么

git status 是最常用的 Git 命令。它告诉你仓库的当前状态:什么变了、什么暂存了、什么未追踪。频繁运行它——在每条其他命令前后。

git status

阅读输出

输出有三个部分:

On branch main

Changes to be committed:        ← 已暂存(将在下次提交中)
  modified:   index.html

Changes not staged for commit:  ← 未暂存(已修改但未 add)
  modified:   style.css

Untracked files:                ← 未追踪(Git 未追踪这些)
  new-file.js
  • Changes to be committed——暂存区中的文件。将包含在下次 git commit
  • Changes not staged for commit——已追踪但修改后未 git add 的文件。
  • Untracked files——Git 从未见过的新文件。用 git add 开始追踪。

短格式

快速紧凑视图用 git status -s(或 --short):

git status -s
M  index.html     ← 第一列 M = 已暂存修改
 M style.css      ← 第二列 M = 未暂存修改
?? new-file.js    ← ?? = 未追踪
A  added-file.js  ← A = 已暂存新增
D  deleted-file.js ← D = 已暂存删除

第一列显示已暂存状态,第二列显示未暂存状态。一旦你会读这个,就会偏爱它胜过长格式。

git status 为何必不可少

git status 防止错误:

  • 提交前——确保提交的是你以为的内容
  • 克隆后——确认在哪个分支
  • 分支前——确保工作树干净
  • 合并后——检查冲突

如果 git statusnothing to commit, working tree clean,表示没有未提交变更——你可以安全地分支、拉取或推送。

有用标志

git status                  # 完整输出
git status -s               # 短紧凑输出
git status --branch         # 包含分支追踪信息
git status --ignored        # 也显示被忽略的文件
git status -uno             # 隐藏未追踪文件

示例代码

              # 做一些变更以看到不同状态
echo "new content" >> README.md       # 修改被追踪文件
echo "body { color: red; }" >> style.css  # 修改另一个被追踪文件
echo "console.log('new');" > new-feature.js  # 创建新文件

# 完整状态输出——三个部分
git status

# 短状态——每文件一行的紧凑格式
git status -s

# 暂存一个文件看状态变化
git add README.md
git status -s
# README.md 现在显示 'M '(已暂存)而非 ' M'(未暂存)

# 暂存所有再看
git add .
git status -s
# 所有文件现在都在已暂存列

# 提交并验证干净树
git commit -m "Add new feature and update styles"
git status
# "nothing to commit, working tree clean"

# 查看分支追踪信息
git status -b
            

创建变更,然后用 git status 和 git status -s 看文件如何在未追踪、未暂存、已暂存状态间移动。短格式值得记住——这是检查仓库最快的方式。

动手试一试

  • Code Diff

    比较版本——git status 告诉你改了什么,diff 展示怎么改的。

  • File Hash Checksum

    Git 用内容哈希检测变更——看看哈希如何工作。

常见错误

错误写法

不运行 git status 就提交了错误的文件

正确做法

提交前始终运行 git status 看到底会提交什么。用 git status -s 快速检查。这能防止意外提交调试代码或敏感文件。

错误写法

忽略本应提交的未追踪文件

正确做法

未追踪文件(标记为 ??)容易漏掉。运行 git status 查看 'Untracked files' 部分。该入库的文件 git add;不该的加到 .gitignore。

相关速查表

练习 git status

1 个练习

练习 git status

查阅不认识的术语

新手友好的术语表用大白话解释编程术语——变量、函数、DOM、Promise 等等。

查看术语表

动手做项目

通过引导式项目应用所学,含起始代码与解决方案。

查看项目

解读错误信息

用大白话解释常见错误——什么意思、为什么发生、如何修复。

查看错误