git rm 删除 以及清空暂存区

一.使用linux命令rm删除:

在当前工作区有文件readme.txt,并被git跟踪,且有提交历史。运行如下命令:

rm readme.txt

删除后状态截图

分析如下:

(1)readme.txt文件的状态是被删除。

(2)此时工作区中的文件已经被删除,

(3)Changes not staged for commit 表明删除文件和新增文件对Git来说都是一种改变,并没有将此改变提交到暂存区。如果要切实在commit提交中也要删除此文件,那么就要首先将此种改变提交暂存区:

git add readme.txt

然后完成此次提交:

git commit -m "delete readme"
 

二.使用git rm命令删除:

通过纯粹的linux命令删除一个文件需要三个步骤:

(1)rm 删除文件。

(2)将此种改变提交暂存区。

(3)最后进行commit提交。

使用git rm命令可以节省一步,代码如下:

git rm readme.txt

查看一下此时状态:

a:3:{s:3:\"pic\";s:43:\"portal/201807/26/010036vsxacxc0afsz10c0.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

分析如下:

(1)readme.txt处于deleted状态。

(2)工作区中的文件已经被删除。

(3)Changes to be committed表明此删除改变已经提交到暂存区,如果要切实在commit提交中也要删除此文件,就可以省略git add命令,直接commit提交即可。

git commit -m "delete readme"
 

三.使用--cached参数:

前面的rm和git rm都会将工作区的文件删除,如果仅仅想让文件脱离Git的跟踪,可以后面加--cached。

这样工作区的文件不会删除,仅删除暂存区中对应的文件。

代码如下:

git rm readme.txt --cached

查看一下状态:

a:3:{s:3:\"pic\";s:43:\"portal/201807/26/010150og1nn178i7qo9e9h.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

readme.txt处于未跟踪状态,也就是从暂存区删除。

特别说明:处于未跟踪状态只是没有存在于暂存区,历史提交记录中的记录依然存在。

 

附:清空暂存区

所谓的暂存区仅仅是.git目录下的一个index文件罢了,这也是为了什么被称为index(索引)

a:3:{s:3:\"pic\";s:43:\"portal/201807/18/001723t4dck4mdo1etp1sx.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

当删除暂存区内容的时候,其实就是删除index文件中的内容,.git/objects目录中的内容不会被删除。

指令:rm .git/index 直接删除该文件夹即可

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值