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 rm
git·git rm
liuqun03192 小时前
怎么设置单个项目设置局部的git user.name
git·后端
hikktn3 小时前
从Git提交记录挖掘工作总结:简历/日报/周报/年终总结万能写法
git
切糕师学AI3 小时前
GitBlit 详解:轻量级的纯 Java Git 服务器
服务器·git
江华森3 小时前
Git实战进阶:从入门到团队协作
git
百万双色球15 小时前
Git Clean 常用用法
git
码农编程录18 小时前
【notes5】git/docker,jenkins/gerrit,mysql/redis/ldap/snmp
git
原创小甜甜18 小时前
将target目录添加到了git,将其移除操作
git
AugustRed19 小时前
多远程仓库 Git 完整命令手册
git