git文件的四种状态和git的四个工作区域

Git文件有Untracked、Unmodify、Modified和Staged四种状态。Untracked表示未加入版本控制,Unmodify表示未修改,Modified表示已修改但未暂存,Staged表示已暂存准备提交。Git的工作区和暂存区管理文件状态,add操作用于将修改加入暂存区,commit则将暂存区内容提交到本地仓库。此外,还介绍了如何处理删除和恢复文件的指令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Git中文件的4种状态Untracked、Unmodify、Modified、Staged - 嘿十三 - 博客园git 学习资料推荐廖雪峰https://www.liaoxuefeng.com/wiki/896043488029600 git库所在的文件夹中的文件大致有4种状态 Untracked: 未跟踪, https://www.cnblogs.com/thirteen-yang/p/13878118.htmlgit文件的四种状态

git库所在的文件夹中的文件大致有四种状态:

Untracked:未跟踪,此文件在文件夹中,但没有加入到git库,不参与版本控制。 通过git add 状态变为Staged。

Unmodify:文件已入库,未修改。即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件。

Modified:文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改。

Staged:暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存, 文件状态为Modified

git四个工作区域

没有被git add过的修改记录全部在workspace(工作区),所有已经被git add的记录全部在Index(暂存区),已经commit过的都以各个版本的形式存在于Repository版本库。
        已经被tracked的文件发生的更改也是需要每次进行add,这样才会将到此为止的修改放入stage区。也就是说add本质上是两个作用:add新文件、add更改。

新建文件--->Untracked
使用add命令将新建的文件加入到暂存区--->Staged
使用commit命令将暂存区的文件提交到本地仓库--->Unmodified
如果对Unmodified状态的文件进行修改---> modified
如果对Unmodified状态的文件进行remove操作--->Untracked

工作区和暂存区的一些删除与恢复指令

  1. 丢弃workspace、INdex区所有改动,回滚到之前的版本库中的状态
    git reset
    
  2. 回滚到旧版本后,要切换到更新的版本时,目标版本的commit_id:

    git reflog
    
  3. 丢弃某个文件在working区发生的改变

    git checkout -- filename
  4. 把某个已经add到stage区的文件清除

    git reset HEAD filename
  5. 恢复误rm某个working区文件(注意该文件必须之前存在于版本仓库)且本次删除还未commit,怎么检出恢复

    git checkout -- filename
    
  6. 恢复误rm某个working区文件(注意该文件必须之前存在于版本仓库),但本次rm已经commit

    git reset HEAD filename
    git checkout -- filename

          这里reset将文件变成untracked的文件,再checkout恢复working区到版本库最后一个版本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值