在上一篇简单讲述了文件状态与工作区域,在这里结合相关git命令详细了解文件的状态变更。
目录
1. 介绍
2. 常用命令
3. 实际操作
1. 介绍
git的文件状态是其git核心内容,了解后对后续的操作有莫大的帮助,不同的文件状态又存储在不同的工作区域中。
下面简单的说明这两者:
1.1 文件状态
git中的文件有以下几种状态:
未跟踪(untrack):表示文件为新增加的。
已修改(modified):表示修改了文件,但还没保存到git仓库中。
已暂存(staged):表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
已提交(committed):表示文件已保存在git仓库中。
1.2 工作区域
知道了文件状态,也需要知道不同的文件状态存储在不同的工作区域内。
按照本地计算机与远程计算机划分,工作区域有以下几种:
1)本地计算机
Working Directory(工作目录):即正在编辑的文件状态。文件状态为未跟踪(untrack)和已修改(modified)在此区域内。
Staging Area(暂存区):保存了下次将提交的文件列表信息。文件状态为已暂存(staged)在此区域内。
Repository(本地仓库):提交到本地仓库的文件。
2)远程计算机
Repository(远程仓库):已提交到远程计算机内的文件。
1.3 示例图
2. 常用命令
git clone :将远程仓库clone到本地计算机。
git pull :拉取远程仓库的数据。
git status :展示工作区及暂存区域中不同状态的文件。
git add :将内容从工作目录添加到暂存区。
git commit :所有通过 git add 暂存的文件提交到本地仓库。
git push :将本地仓库的记录提交到远程仓库。
git reset HEAD <file> :从暂存区移除指定文件。
git checkout -- <file> :从本地仓库恢复指定文件。
3.实际操作
看完文件状态分类和相关命令后,来一次实际操作。
3.1 初始状态
git clone 一个仓库后,运行 git status:
3.2 添加一个文件
在此仓库中添加一个文件a.txt,运行 git status:
提示:可以看到文件上方有个 "Untracked files",表示这个文件【未跟踪】。
3.3 新创建的文件添加到【暂存区】
执行 git add a.txt ,将会把新创建的a.txt提交到【暂存区】,执行后运行 git status:
提示:文件上方有说明使用 git reset HEAD <file> 可从暂存区移除指定文件。
3.4 【暂存区】的内容提交到【本地仓库】
执行 git commit ,将【暂存区】的内容提交到【本地操作】,执行后运行 git status:
3.5 【本地仓库】的内容提交到【远程仓库】
执行 git push,将【本地仓库】的内容提交到【远程仓库】,执行后运行 git status:
提示:可以看到提交后git状态又回到初始化状态。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!