git status

git status

git status

介绍

git statusGit 的一个命令,用于查看当前工作目录的状态。通过运行 git status 命令,我们可以获得有关文件和文件夹的一些关键信息,以便更好地管理版本控制。

命令语法

git status [-s|--short] [-b|--branch] [--untracked-files=<option>] [--ignored] [--] [<pathspec>…​]

命令说明

git status 命令主要有两个功能:

  1. 显示跟踪文件的状态(tracked files)
  2. 显示未跟踪文件的状态(untracked files)

跟踪文件的状态

Git 跟踪文件的状态分为以下几种:

  • 已修改(modified):文件已被修改,但还未提交;
  • 已暂存(staged):文件已添加到暂存区,准备提交;
  • 没有修改(unmodified):文件没有进行修改。

当运行 git status 命令时,会显示当前分支下已修改和已暂存的文件,以及是否有未跟踪的文件。下面是一个示例输出:

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

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   readme.txt

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:   file1.txt

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

可以看到,上述示例中有一个已暂存的新文件 readme.txt,一个已修改但未暂存的文件 file1.txt,以及一个未跟踪的文件 file2.txt

未跟踪文件的状态

未跟踪的文件是指工作目录中 Git 仓库未跟踪的文件。这些文件未被添加到 Git 的版本控制中,因此 Git 不会自动跟踪其更改。

当运行 git status 命令时,会显示未跟踪文件的状态。下面是一个示例输出:

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

nothing added to commit but untracked files present (use "git add" to track)

可以看到,在这个示例中,没有已修改或已暂存的文件,只有未跟踪的文件。提示信息告诉我们可以使用 git add 命令来跟踪这些文件。

常用参数

-s--short

使用 -s--short 参数可以以简洁的方式显示输出,只显示文件名,并用字母表示状态。

git status -s

示例输出:

 M file1.txt
MM file2.txt
A  file3.txt

上述示例中,M 表示已修改但未暂存,MM 表示已修改且已暂存,A 表示新添加的文件。

-b--branch

使用 -b--branch 参数可以在输出中显示当前分支的名称。

git status -b

示例输出:

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

上述示例中,显示了当前分支名称,并提供了分支状态信息。

--untracked-files=<option>

使用 --untracked-files=<option> 参数可以控制是否显示未跟踪文件的状态。

可选的 <option> 参数有三种:

  • no:不显示未跟踪文件的状态;
  • normal:显示未跟踪文件的状态;
  • all:显示未跟踪文件的状态,并包括忽略的文件。
git status --untracked-files=normal

示例输出:

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

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

上述示例中,显示了未跟踪文件的状态,并指示如何将这些文件包含到提交中。

--ignored

使用 --ignored 参数可以显示被 Git 忽略的文件的状态。

git status --ignored

示例输出:

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

Ignored files:
  (use "--no-ignore" to show)
        ignored_file.txt

上述示例中,显示了被 Git 忽略的文件的状态。

结束语

git status 是 Git 中常用的命令之一,通过查看当前工作目录下文件的状态,能够更好地管理版本控制。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程