Git中三种文件状态及其装换
- Untracked files
- Changes to be committed
- Changes not staged for commit
1、Git目录下新增一文件README.txt,使用“git status”查看文件状态,如图:
为“Untracked files”,并且提示使用“git add <file>...”的命令将文件包含到待提交清单中。
2、按照提示,使用“git add README.txt”命令,然后,使用“git status”查看文件状态,
状态变成了“Changes to be committed”,也就是说README.txt在暂存区域生成了快照,等待被提交。
3、正如Git所提示的那样,通过“git rm --cached README.txt”命令,可以将文件状态还原为未暂存状态,即回到“Untracked files”文件状态。
现在,README.txt已经可以被提交到git目录中了,但是暂时不提交。
打开README.txt,向其中加些内容,保存之后,用“git status”查看,返回如图信息:
除了之前的“Changes to be committed”状态,
4、现在又多了一条“Changes not staged for commit”状态,表明文件已经修改,但是还没有放入暂存区域,也就是没生成快照。
如果现在进行commit操作,只是将修改之前的文件快照提交到了git目录,一定记住:只有暂存区域的文件(即:文件状态为“Changes to be committed”)才会被提交。
正如提示,通过“git add README.txt”命令将已修改文件更新到暂存区域中,
如果想撤销修改,可以使用“git checkout -- README.txt”命令,将文件状态还原为未暂存状态,即回到“Untracked files”文件状态。
Git在未进行commit操作之前,存在三种状态:Untracked files,Changes not staged for commit及Changes to be committed,每种状态之间可以随意进行互相转换。了解这三种状态各自所对应的不同情况,能够帮助你方便有效的使用Git来管理项目。
总结: