git status 检查当前文件状态
git status是用来检查当前项目下所有文件状态,在git管理中文件有四种状态,分别是未跟踪的(Untracked)、未更改的(Unmoified)、发生更改的(Modified)、暂存的更改(Staged),当我们在克隆仓库后立刻使用此命令,会看到这样的输出:$ git statusOn branch master// 在master分支Your branch is up-to-date w
git status是用来检查当前项目下所有文件状态,在git管理中文件有四种阶段,分别是未跟踪的(Untracked)、未更改的(Unmoified)、发生更改的(Modified)、暂存的更改(Staged),当我们在克隆仓库后立刻使用此命令,会看到这样的输出:
$ git status
On branch master // 在"master"分支
Your branch is up-to-date with 'origin/master'. // 您的分支与'origin/master'(远端的master分支)相互对比是最新的
nothing to commit, working directory clean // 没有什么要提交的,工作目录干净
这说明你现在的工作目录相当干净。换句话说,所有已跟踪文件在上次提交后都未被更改过。
git status 命令可以添加参数,这样打印出来的内容会简略显示文件状态,这种打印称为状态简览
$ git status -s
注:-s 区分大小写,此处为小写
- 未跟踪的(Untracked)
当文件第一次被创建时,git不会马上跟踪上这个文件,此时打印出来的状态是这样的
On branch master
Your branch is up to date with 'origin/master'.
Untracked files: // 未跟踪的文件
(use "git add <file>..." to include in what will be committed) // 使用“git add …”来包含将要提交的内容
index.css // 相关文件
nothing added to commit but untracked files present (use "git add" to track) // 没有添加到提交,但存在未跟踪的文件(使用“git add”跟踪)
此时文件 index.css 文件刚刚新建,没有被跟踪,如果想跟踪这个文件的话,需要使用命令
$ git add <files>
-
未更改的(Unmoified)
文件被 git 跟踪,但没有发生更改,这种状态的文件不会出现在 git status 所打印出来的状态列表中 -
发生更改的(Modified)
文件被 git 跟踪,而且发生了更改,此时打印出来的状态是这样的
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit: // 没有准备提交的更改,因为此时文件时更改阶段,准备提交的更改应该在暂存的更改中
(use "git add <file>..." to update what will be committed) // 使用"git add …"来更新将要提交的内容
(use "git restore <file>..." to discard changes in working directory) // 使用"git restore …"来丢弃工作目录中的更改
modified: index.html
no changes added to commit (use "git add" and/or "git commit -a") // 没有修改添加到提交(使用“git add”和/或“git commit -a”)
进入更改阶段下一步就要进入暂存的更改(Staged)阶段,暂存的更改(Staged)阶段中的文件就要准备提交进入远端仓库
- 暂存的更改(Staged)
文件被 git 跟踪,而且发生了更改,并且已经添加到暂存区,此时打印出来的状态是这样的
On branch master
Your branch is up to date with 'origin/master'.
Changes to be committed: // 已暂存可以被提交的文件
(use "git reset HEAD <file>..." to unstage) // 使用"git reset HEAD …"来取消阶段
modified: index.html
暂存的阶段是我们将文件提交到远端的一个确认的阶段,相当于像一些删除等不可逆的操作被执行时,会有一个弹框提示是否确认此操作一样
- 状态简览
这里我们讲一下 git status -s 命令所打印出来的简略的状态,以及每个替代字母的意义,此时打印出来的状态是这样的
M README.md
MM index.html
A index.js
M router.html
?? index.css
暂存区 | 工作区 | 文件 | 简介 |
---|---|---|---|
M | README.md | 当前文件被 git 监听,而且文件发生了更改,但还没有添加到暂存区 | |
M | M | index.html | 当前文件被 git 监听,而且文件发生更改,并且添加到了暂存区,添加到暂存区之后又发生了更改 |
A | index.js | 当前文件没有被 git 监听,是首次进入暂存区 | |
M | router.html | 当前文件被 git 监听,文件发生了更改,并且已经添加到暂存区 | |
? | ? | index.css | 当前文件刚刚新建,新建的文件不会直接被 git 监听,此时文件在工作区 |
更多推荐
所有评论(0)