1. 前言
status 命令用于查看工作区中文件的状态
git status 命令是 git 中最常用的命令之一,当我们要执行命令操作时,一般都会先执行这个命令查看下当前工作区文件状态,因为只有当我们知道当前状态是什么,才会清楚的知道,我们接下来应该怎么进行操作
使用示例
git status
git status -s
2. 新文件
当在工作区中创建一个新的文件 User.php 时,查看状态
On branch master 当前在 master 分支
Untracked files: 未跟踪的文件
(use “git add …” to include in what will be committed) 提示可以使用 git add 命令将其包含在将要提交的内容中
nothing added to commit but untracked files present (use “git add” to track) 暂存区中没有内容时才会有该提示
提交时未添加任何内容,但存在未跟踪的文件(使用“git add”跟踪)。即暂存区中还没有内容,但可以使用 git add 跟踪文件
将文件提交到暂存区后查看状态
Changes to be committed: 要提交的更改。就是要提交到版本库中的内容
(use “git restore --staged …” to unstage) 可以使用 git restore --staged 命令将文件从暂存区中撤出,不会更改文件内容
3. 修改文件
当修改了一个已被跟踪的文件 User.php 时,查看状态
Changes not staged for commit 被跟踪的文件有更改,但没有提交到暂存区
(use “git add …” to update what will be committed) 可以使用 git add 命令更新提交的内容
(use “git restore …” to discard changes in working directory) 可以使用 git restore 命令放弃工作区中的更改
no changes added to commit (use “git add” and/or “git commit -a”) 提交时未添加任何更改。暂存区中没有内容才会有该提示
将文件提交到暂存区后查看状态
4. 删除文件
Changes not staged for commit 被跟踪的文件有更改,但没有提交到暂存区
(use “git add/rm …” to update what will be committed) 可以使用 git add/rm 更新将要提交的内容,就是将更改提交到暂存区
(use “git restore …” to discard changes in working directory) 可以使用 git restore 命令放弃工作区中的更改,也就是取消删除,会将删除的文件恢复
5. 文件状态总结
Changes to be committed: 将要提交到版本库中的更改,也就是暂存区中内容
Changes not staged for commit: 更改的已被跟踪的文件,属于工作区,还没有添加到暂存区
Untracked files: 未跟踪的文件,也属于工作区,因为还没有添加到暂存区
绿色字体代表说暂存区中的内容,红色代表是工作区中的内容
6. git status -s 简短输出结果
我们可以使用 -s 参数来获取简短的输出结果,常见的几种状态码如下所示
状态码 | 描述 |
---|
A | 暂存区中新增的文件 | D | 文件被删除 | M | 文件被更改 | R | 文件被重命名 | ?? | 工作区中未被跟踪的文件 |
|