赞
赏
git status 命令用于显示工作目录和暂存区的状态。使用 git status 命令能看到那些修改被暂存到了,哪些没有,哪些文件没有被 Git tracked 到。
显示工作目录和暂存区的状态。
git status [options]
参数 | 描述 |
---|---|
options | git status 命令使用的参数。 |
当执行 git status 的时候,返回结果大致可分为 3 个部分:
返回结果 | 描述 |
---|---|
拟提交的变更 | 这是已经放入暂存区,准备使用 git commit 命令提交的变更。 |
未暂存的变更 | 这是工作目录和暂存区快照之间存在差异的文件列表。 |
未跟踪的文件 | 这类文件对于 Git 系统来说是未知的,也是可以被忽略的。 |
当使用 git status -s 显示返回值时,返回的格式如下所示:
XY PATH1 -> PATH2
PATH1 表示最近一次提交的文件, -> PATH2
表示索引或工作目录中文件,当文件路径改变时才会有 -> PATH2
这一项。
X 和 Y 都是状态码,X 表示暂存区和最近一次提交的差异,Y 表示工作目录和暂存区的差异。具体状态码解释如下:
状态码 | 描述 |
---|---|
’ ’ | unmodified |
M | modified |
A | added |
D | deleted |
R | renamed |
C | copied |
U | updated but unmerged |
?? | untracked |
!! | ignored |
实例 | 描述 |
---|---|
git status | 显示工作目录和暂存区的状态。 |
git status -s | 以精简的方式显示文件状态。 |
git status --ignored | 列出被忽略的文件。 |
如果用 git status -s 或 git status --short 命令,会得到更为紧凑的格式输出。
git status
我们首先,创建一个空文件夹,接着进入该文件夹,使用 git init 初始化一个空工作区,具体命令如下:
git init
执行完毕后,如下图所示:
现在,我们再次新建一个文件,此时,我们使用 git status 命令,查看该文件的状态,具体命令如下:
git status
执行完毕后,如下图所示:
我们看到,此时提示我们没有追踪的文件,现在,我们使用 git add 命令,追踪修改的文件,具体命令如下:
git add .
执行完毕后,如下图所示:
现在,我们再次使用 git status 命令,查看当前工作区的状态,具体命令如下:
git status
执行完毕后,如下图所示:
我们看到,此时已经追踪了所有文件,提示我们可以提交该文件,现在,我们使用 git commit 提交该文件,具体命令如下:
git commit -m "first commit"
执行完毕后,如下图所示:
现在,我们再次使用 git status 命令,查看文件状态,具体命令如下:
git status
执行完毕后,如下图所示:
我们看到,此时已经没有任何修改与未提交的文件了。
git status -s
我们修改本地的文件之后,此时,我们使用 git status -s 命令,以简短形式查看该文件的状态,具体命令如下:
git status -s
执行完毕后,如下图所示:
我们看到,此时文件前面的状态为 M,即被修改了,现在,我们使用 git add 命令,追踪修改的文件,具体命令如下:
git add .
执行完毕后,如下图所示:
现在,我们再次使用 git status -s 命令,以简短形式查看当前工作区的状态,具体命令如下:
git status -s
执行完毕后,如下图所示:
现在,我们使用 git commit 提交该文件,具体命令如下:
git commit -m "second commit"
执行完毕后,如下图所示:
现在,我们再次使用 git status 命令,查看文件状态,具体命令如下:
git status -s
执行完毕后,如下图所示:
我们看到,此时已经没有任何输出了。
git status --ignored
我们使用 git status 命令,列出被忽略的文件,具体命令如下:
git status --ignored
执行完毕后,如下图所示:
因为,此时没有被忽略的文件,因此,没有任何输出。
git status 命令用于显示工作目录和暂存区的状态。使用 git status 命令能看到那些修改被暂存到了,哪些没有,哪些文件没有被 Git tracked 到。