Git使用汇总之暂存区工作区撤销和删除

一、撤掉

1、如果还没 git add file ,使用该指令进行撤销:  git checkout -- fileName  

只能清空全部已修改的问题件, 但是对于新建的文件和文件夹无法清空, 必须组合下面命令;

 $ git clean -d

2、如果已经git add file  , 但是没有 git commit -m ""  分两步操作:
 a、git reset HEAD readme.txt
 b、git  status
 c、git checkout -- file
3、如果已经git add file 并且已经 git commit ,那么回退版本办法是:
 a、通过 git log 或者 git log --pretty=oneline 、git reflog
 b、找到对应的commit id进行回退:git reset --hard 1094a


二、删除

1、从暂存区删除

当我们使用 git add 命令添加工作区的文件到暂存区时,我们想要对这个暂存区里面的文件执行删除操作时,我们则使用 git rm --cached <file> 来修改暂存区目录(不修改工作区目录), git rm --cached <file> 相当于git add的一个逆过程。

示例:
a.使用 git status 命令 来查看 暂存区情况,可以看到这时暂存区是没有文件的。

在这里插入图片描述

b.当我们使用 git add命令往暂存区添加文件时,可以看到暂存区内容发生变化(新增加了 file.txt 文件)。

在这里插入图片描述

c.使用git rm --cached <file> 命令删除暂存区中的 file.txt 文件,可以看到暂存区中已经没有数据了。

在这里插入图片描述

 

2.从版本库删除

现在你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit:
a、git rm test.txt
b、git commit -m "remove test.txt"


另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:
git checkout -- test.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.https://blog.csdn.net/u012262450/article/details/80640277?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&dist_request_id=1328680.10329.16161419724831563&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control

2.https://blog.csdn.net/qq929371786/article/details/80014532

3.https://blog.csdn.net/qq_37266079/article/details/96290591

4.https://blog.csdn.net/java_lifeng/article/details/103824347?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-7.control&dist_request_id=1328679.10459.16161420675470147&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-7.control

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕城南风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值