[Git] git stash命令详解

 前言


目录

git stash -m

git stash list

git stash pop

git stash apply index

git stash drop index

git stash clear

特定范围文件储存

git stash [-S|--staged]

git stash [-u|--include-untracked]

git stash [-a|--all]


将当前未提交的修改(即工作区和暂存区的修改)先暂时储藏起来,保存到一个栈中,并恢复工作目录到干净的 HEAD 状态。这样可以在不提交当前更改的情况下,切换到其他分支或进行其他操作。

git stash -m

将当前未提交的修改(即工作区和暂存区的修改)先暂时储藏起来

在工作区中新建文件3.txt,查看状态,此时的3.txt文件在工作区,还没有放到暂存区

将3.txt放到暂存区

使用命令储存3.txt  -m后面是备注信息

储存后,工作区就没有该文件了

git stash list

查看储存

git stash pop

弹出最后一次储存

查看储存,此时为空

将3.txt存入

在工作区修改3.txt后,再次储存

查看此时储存的文件,有两个

WIP意为work in progess, index用于后面取出所对应储存的修改

stash@{index}: WIP on [分支名]: [最近一次的commitID] [最近一次的提交信息]

git stash apply index

取出指定index的储藏的修改到工作区中 

取出index为0的文件

查看储存列表,仍然存在

工作区中出现文件3.txt

再尝试取出index为1的文件,报错,因为刚才已经取出了一个文件

git stash drop index

将指定index的储存从储存记录列表中删除 

查看储存列表,看到此时文件的index由1变成了0

git stash clear

储藏记录多的话,一个个删除太麻烦,可以批量删除

将文件放入暂存区

再次存入

取出1

在工作区修改文件,然后放入暂存区

储存并查看储存列表

删除并查看,此时的储存列表已经为空

特定范围文件储存

新建文件4、5、6

将4放入暂存区,6提交到版本库,然后再工作区修改文件6的内容,查看状态,现在的三个文件分别对应三种状态

4:新增加到暂存区的文件

5:新建的文件,没有放到暂存区

6:已经提交到版本库的文件,但在工作区进行了修改

git stash [-S|--staged]

只对暂存区文件进行储藏

看到工作区中的4.txt文件不在了,4.txt已经储存了

git stash [-u|--include-untracked]

对未追踪文件也进行储藏

新建文件7,放到暂存区

执行命令

看到工作区的5、7文件都不在了

 弹出

工作区恢复

git stash [-a|--all]

对所有文件进行储藏

此时状态

执行指令

此时的工作区,并且之前对文件6的修改恢复了

弹出

工作区文件恢复,且对文件6的修改也恢复了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值