git status

文章目录

  • 1.简介
  • 2.格式
  • [3. 选项](#3. 选项)
  • [4. 示例](#4. 示例)
    • [4.1 完整格式输出](#4.1 完整格式输出)
    • [4.2 短格式输出](#4.2 短格式输出)
    • [4.3 显示被忽略的文件](#4.3 显示被忽略的文件)
  • [5. 其他](#5. 其他)
    • [5.1 输出状态符号(短格式)](#5.1 输出状态符号(短格式))
    • [5.2 常用别名设置](#5.2 常用别名设置)
  • [6. 小结](#6. 小结)
  • 参考文献

1.简介

git status 用于查看当前工作区(Working Directory)和暂存区(Staging Area)的状态

git status 是 Git 中最常用的命令之一,它能告诉你哪些文件被修改了、哪些文件被暂存了、哪些文件未被跟踪。

2.格式

bash 复制代码
git status [<options>] [--] [<pathspec>...​]

3. 选项

bash 复制代码
-s, --short
  短格式输出,更简洁
-sb
  短格式 + 显示分支信息
--ignored
  同时显示被 .gitignore 忽略的文件
-v, --verbose
  显示更详细的信息(包括变更内容)
--porcelain
  机器可读的稳定输出格式,适合脚本解析。类似于简短输出,但会在不同 Git 版本之间保持稳定,并且不受用户配置的影响。

4. 示例

4.1 完整格式输出

bash 复制代码
$ git status
On branch main
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified:   README.md
        new file:   main.go

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   go.mod

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        utils/

4.2 短格式输出

bash 复制代码
$ git status -s
M  README.md
A  main.go
 M go.mod
?? utils/

4.3 显示被忽略的文件

bash 复制代码
$ git status --ignored
On branch main
...
Ignored files:
  (use "git add -f <file>..." to include in what will be committed)
        .idea/
        node_modules/

5. 其他

5.1 输出状态符号(短格式)

符号 含义 说明
?? 未跟踪 新文件,从未被 Git 跟踪过
A 已暂存(新增) 文件已被 git add,暂存区有新文件
M 已修改 文件在工作区被修改,但尚未暂存
MM 修改并暂存后又修改 文件既有暂存的修改,又有新的工作区修改
D 已删除 文件被删除,但尚未暂存
R 重命名 文件被重命名
C 复制 文件被复制
AM 已暂存后又修改 MM 类似
?? 未跟踪 新文件,未被 Git 跟踪

5.2 常用别名设置

bash 复制代码
# 设置全局别名
git config --global alias.st status
git config --global alias.sts "status -s"
git config --global alias.stsb "status -sb"
git config --global alias.sti "status --ignored"

# 使用别名
git st
git sts
git stsb
git sti

6. 小结

需求 命令 说明
详细状态 git status 新手友好,信息完整
简洁状态 git status -s 熟练用户,输出紧凑
查看分支+简洁状态 git status -sb 兼顾分支信息和简洁输出
查看被忽略的文件 git status --ignored 排查 .gitignore 问题
机器可读格式 git status --porcelain 适合脚本自动化处理

git status 是你的 Git"仪表盘",随时告诉你工作区和暂存区发生了什么。养成提交前执行 git status 的习惯,避免误提交或遗漏文件。


参考文献

Git - git-status Documentation

相关推荐
不搞学术柒柒1 小时前
Git新功能完整开发提交流程
git
午安~婉6 小时前
Git中SSH连接
前端·git·gitee
888CC++6 小时前
VS Code Git 工作树:解锁多分支并行开发新体验
git
阿虎儿6 小时前
Git exclude 功能解析
git
隔窗听雨眠8 小时前
VS Code Git工作树:多分支并行开发的完整实践方案
git
^yi8 小时前
【Linux系统编程】快速上手git仓库管理,核心三板斧
git
郝同学今天有进步吗9 小时前
构建 LangGraph Code Review Agent(四):文件过滤与 AnalysisPackage 分包
git·python·ai·code review
胖大和尚1 天前
git本地实现local->remote推送
git
BerryS3N1 天前
Code Git 工作树:多分支开发的痛点与工作树的曙光
大数据·git·elasticsearch
lbb 小魔仙1 天前
Git + Python 项目工作流最佳实践:pre-commit、CI、CHANGELOG 自动化
git·python·ci/cd