Git status 查看仓库状态

git status命令显示工作目录和暂存区的状态。它让我们可以查看哪些更改已提交暂存区,哪些尚未提交暂存区,以及 Git 未跟踪哪些文件。

git status 的输出结果中并不会显示任何的关于暂存区的历史提交的信息。因此,如果需要查看历史提交信息,需要使用git log命令。

用法

$ git status

git status命令是一个相对简单的命令。它只是向我们展示git addgit commit的进展情况。git status的输出内容还包括暂存/取消暂存文件的相关说明。下面包括 git status 的三个主要类别的输出:

On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    new file:   script.js

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

    modified:   index.html

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

    style.css

忽略文件

未跟踪的文件通常分为两类。一种是刚刚被添加到项目中还未提交的文件;二是编译好的二进制文件 例如 .pyc,.obj,.exe等。在git status的显示信息中包含前者,对于我们来说这绝对是很有帮助的。但是对于后者,我们却很难看到在仓库中实际发生了什么,进行了哪些修改。

出于这个原因,Git 将路径放在一个名为.gitignore的文件中。该文件的每一行都表示一个要被忽略的文件/文件夹。* 符号可用作通配符。例如,将以下内容添加到项目根目录中的.gitignore文件中,从而忽略已编译的 Python 模块

*.pyc

示例

在提交更改之前检查仓库的状态是一种很好的习惯,这样我们就会避免意外提交不想要提交的东西。下面示例显示暂存和提交快照之前和之后的仓库状态:

# Edit hello.txt
$ git status
# hello.txt is listed under "Changes not staged for commit"
$ git add hello.txt
$ git status
# hello.txt is listed under "Changes to be committed"
$ git commit
$ git status
# nothing to commit (working directory clean)

第一个状态输出显示文件未提交到暂存区。git add的操作将反映在第二个 git status 的输出中。最终输出表示没有任何内容可提交——工作目录与最近的提交相匹配。

查看笔记

扫码一下
查看教程更方便