千家信息网

Git如何删除暂存区或版本库中的文件

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章主要介绍"Git如何删除暂存区或版本库中的文件",在日常操作中,相信很多人在Git如何删除暂存区或版本库中的文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"G
千家信息网最后更新 2025年01月23日Git如何删除暂存区或版本库中的文件

这篇文章主要介绍"Git如何删除暂存区或版本库中的文件",在日常操作中,相信很多人在Git如何删除暂存区或版本库中的文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Git如何删除暂存区或版本库中的文件"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!


基础

Git有三大区(工作区、暂存区、版本库)以及几个状态(untracked、unstaged、uncommited),下面只是简述下Git的大概工作流程,详细的可以参见其他有关Git的文章。

  • 打开你的项目文件夹,除了隐藏的.git文件夹,其他项目文件位于的地方便是工作区,工作区的文件需要添加到Git的暂存区(git add),随后再提交到Git的版本库(git commit)。

  • 首次新建的文件都是untracked状态(未跟踪),此时需要git add到暂存区,Git便会在暂存区中生成一个该文件的索引,文件此时处于uncommited状态,需要git commit生成版本库。添加到了版本库之后,再对文件进行修改,那么文件的状态会变为unstaged状态。
    简单的认识了Git的工作流程,接下来便可以看看如何删除错误添加到暂存区或版本库里的文件了!

删除错误添加到暂存区的文件

有时你在工作区新建了文件TestFile,并且已经将它添加到了暂存区,git会告知,现有有一个文件未提交到版本库,如下图:

未提交到版本库

仅仅删除暂存区里的文件

此时你想撤销错误添加到暂存区里的文件,可以输入以下命令:

git rm --cache 文件名

撤销错误添加到暂存区

上面的命令仅仅删除暂存区的文件而已,不会影响工作区的文件,如上图,TestFile.txt仍然存在,此时输入下面命令,git会告知有一个未跟踪的文件TestFile.txt。

git status

删除暂存区和工作区的文件

git rm -f 文件名

工作区的文件也被删除了。

工作区的文件

删除错误提交的commit

有时,不仅添加到了暂存区,而且commit到了版本库,这个时候就不能使用git rm了,需要使用git reset命令。
错误提交到了版本库,此时无论工作区、暂存区,还是版本库,这三者的内容都是一样的,所以在这种情况下,只是删除了工作区和暂存区的文件,下一次用该版本库回滚那个误添加的文件还会重新生成。
这个时候,我们必须撤销版本库的修改才能解决问题!
git reset有三个选项,--hard、--mixed、--soft。

//仅仅只是撤销已提交的版本库,不会修改暂存区和工作区
git reset --soft 版本库ID
//仅仅只是撤销已提交的版本库和暂存区,不会修改工作区
git reset --mixed 版本库ID
//彻底将工作区、暂存区和版本库记录恢复到指定的版本库
git reset --hard 版本库ID

那我们到底应该用哪个选项好呢?

  • 如果你是在提交了后,对工作区的代码做了修改,并且想保留这些修改,那么可以使用git reset --mixed 版本库ID,注意这个版本库ID应该不是你刚刚提交的版本库ID,而是刚刚提交版本库的上一个版本库。如下图:

  • 如果不想保留这些修改,可以直接使用彻底的恢复命令,git reset --hard 版本库ID。

  • 为什么不使用--soft呢,因为它只是恢复了版本库,暂存区仍然存在你错误提交的文件索引,还需要进一步使用上一节的删除错误添加到暂存区的文件,详细见上文。

到此,关于"Git如何删除暂存区或版本库中的文件"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

文件 版本 存区 工作 工作区 错误 只是 命令 状态 学习 接下来 工作流程 文件名 文件夹 文章 时候 更多 流程 索引 问题 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 青少年对网络安全问题 怎样查询网络连接数据库 北京易企网络技术有限公司 本机文件怎么传到服务器上 软件开发在上海找工作 数据库中的增删改查怎么操作 网络安全相关的硬件有哪些 把数据库建在指定文件夹 软件开发od是什么意思 网络安全系统基础设计方案 做个数据库小系统吗 大学网络安全班会心得体会 中国网络监管和网络安全的部门 我的世界僵尸服务器解说 苏州戴尔服务器购买申请 全国网络安全积极发展 易迅天空网络技术 公司 软件开发劳务价格 木鱼跳跳网络技术有限公司怎么样 吴刚 中国银行软件开发中心 网络安全加固与防火墙的 珠海网页软件开发 鸡冠区网络安全宣传 有关网络技术的发展的论文 什么是数据库安全技术 企业网络安全教育视频 台州银行软件开发笔试题目 腾讯云开发服务器有多大 武汉市力森软件开发有限公司 赛季服那个服务器人均衡
0