3.查看文件状态

小白的故事

本故事纯属虚构,如有雷同,^0^那可太巧了

第二天上班,小白开开心心的打开电脑,准备爽一把。忽然想起来,昨天好像有一个功能还没有做完,临走的时候没有执行addcommit

糟糕好像忘记修改过哪几个文件了。这可如何是好啊?

一盏灯泡从小白的脑袋里亮起,好像我开始使用git了,git应该知道我昨天哪些代码没有commit吧。
小白打开百度,果然,git是可以查看文件状态的。

1
2
3
4
5
6
7
8
9
10
$ git status
On branch master
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: readme.md

no changes added to commit (use "git add" and/or "git commit -a")

modified: readme.md,哦,原来是readme.md文件昨天修改过。马上git add readme.md git commit -m "readme"添加到仓库。

ok,继续快乐的工作。

开始开发新功能,创建一个新文件

1
touch 我最帅.txt

不一会功能开发完成。脑袋好乱,刚才出去又忘记改了什么文件。还是用git status吧。

1
2
3
4
5
6
7
8
$ git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)

"\346\210\221\346\234\200\345\270\205.txt"

nothing added to commit but untracked files present (use "git add" to track)

"\346\210\221\346\234\200\345\270\205.txt"是什么鬼,我们打开万能的百度,是因为git对对0x80以上的字符进行quote,解决方法很简单

1
git config --global core.quotepath false

没有报错,应该没有问题吧,小白抱着试试看的态度敲下了git status命令

1
2
3
4
5
6
7
8
9
10
11
12
$ git status
On branch master

No commits yet

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

我最帅.txt

nothing added to commit but untracked files present (use "git add" to track)

果然正常了。小白那个开心啊。内心YY道:“我就说吗git这么强大,怎么可能弱鸡到中文都不能正常显示,我果然是天才,一下就找到了原因”

马上开始保存到仓库,咦,不对,好像两次git status出现的提示不一样,这是怎么回事啊。

时间在小白的思考中慢慢流失,抬头一看,哇,这不8点60了吗。赶紧回家…

小结

git status可以查看项目的变更情况
git config --global core.quotepath false 可以解决,git提示信息中文乱码问题

思考

为什么小白两次git status出现的提示不一样呢?这就要从git的管理机制,工作区和代码库说起了

预知后事如何,且看下回分解。