怎么使用 git 命令查看当前工作区的状态信息?

文章导读
查看 Git 当前工作区状态,最直接且标准的命令是 git status,它能清晰展示文件修改、暂存及分支情况。
📋 目录
  1. 命令速用版
  2. 输出示例解析
  3. 分步处理
  4. 怎么验证是否生效
  5. 常见坑
  6. 参考来源
A A

查看 Git 当前工作区状态,最直接且标准的命令是 git status,它能清晰展示文件修改、暂存及分支情况。

先说结论:日常开发中,提交代码前务必运行 git status 确认工作区干净,避免遗漏文件或提交意外修改。

  • 适合:所有 Git 仓库管理场景,尤其是提交前检查。
  • 先看:输出中的 Changes not staged 和 Untracked files 部分。
  • 建议:配合 git diff 查看具体修改内容,确认无误后再提交。

命令速用版

在终端项目目录下执行:

git status

若需要简短输出,可加 -s 参数:

git status -s

输出示例解析

执行 git status 后,典型输出如下:

On branch main
Your branch is up to date with 'origin/main'.

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:   README.md

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

no changes added to commit (use "git add" and/or "git commit -a")

关键信息解读:

  • Changes not staged for commit:文件已修改但未 add,提交时不会包含。
  • Changes to be committed:文件已 add,即将提交。
  • Untracked files:新创建的文件,Git 尚未跟踪。

使用 git status -s 时,状态符号含义:

怎么使用 git 命令查看当前工作区的状态信息?
  • M:Modified,文件被修改。
  • A:Added,新文件已暂存。
  • ??:Untracked,未跟踪的新文件。
  • D:Deleted,文件被删除。

分步处理

1. 打开终端,进入项目根目录。

2. 输入 git status 并回车。

3. 观察输出信息,确认修改范围。

4. 根据提示操作:

  • 若有未暂存修改,使用 git add 添加。
  • 若有误改,需丢弃修改:
    • Git 2.23.0+ 版本:使用 git restore <file>。
    • 旧版本:使用 git checkout -- <file>。

怎么验证是否生效

再次运行 git status,若输出包含 nothing to commit, working tree clean,则表示工作区已干净,所有修改均已提交或暂存状态符合预期。

常见坑

  • 忽略未跟踪文件:新创建的文件若不 add,git status 会显示为 Untracked,提交时不会包含。
  • 混淆暂存与工作区:修改了文件但没 add,状态显示为 Changes not staged,此时提交不会包含该修改。
  • 远程状态误解:git status 显示的分支同步状态(如 Your branch is up to date)是基于本地记录的远程引用,若需最新状态需先执行 git fetch。
  • 版本兼容性:git restore 命令仅在 Git 2.23.0 及以上版本可用,旧版本用户请使用 git checkout。

参考来源