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来管理项目。

总结:

 

posted @   peterYong  阅读(954)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
历史上的今天:
2019-09-02 工作总结知识
点击右上角即可分享
微信分享提示