git status命令表示:文件,文件夹在工作区,暂存区的状态,下图就是文件,文件夹三种状态:
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: bbbb.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: bbbb.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
.idea/
designpatterns/
"javaDoc/~$it345270270347224250345221275344273244.docx"
Changes to be committed:表示已经从工作区add到暂存区的file(文件或文件夹),可以通过 git restore --staged filename 命令将该file从暂存区移出,只有工作区有该文件,该文件就为Untracked files。
Changes not staged for commit:表示工作区,暂时区都存在的file(文件或文件夹),在工作区进行修改或删除,但是没有add到暂存区,可以通过 git add file 命令将变更(修改,删除)的file add到暂存区,此时该file没有Changes not staged for commit状态,也就是Changes not staged for commit将没有改file的记录了。可以通过 git restore file 的命令取消在file在工作区的变更,那么暂存区的file内容还是以前的,并且file在Changes not staged for commi状态下没有记录。
Untracked files:表示只在工作区有的file(文件或文件夹),也就是在暂时区没有该file。
为了演示file的 Untracked files状态,我们可以在工作区新建一个tt.txt,如下:
为了演示file的Changes to be committed状态,我们可以将tt.txtadd到暂存区如下;
为了演示file的Changes not staged for commit状态,我们可以将tt.txt在工作区进行修改如下:
为了演示Changes not staged for commit状态的file取消在工作区的变更,由于add到暂存区的命令先前演示过就不必要演示了,执行命令 git restore tt.txt如下图:
为了演示Changes to be committed状态的file移出暂存区,执行 git restore --staged tt.txt:如下图: