** 前言**
将当前未提交的修改(即工作区和暂存区的修改)先暂时储藏起来,保存到一个栈中,并恢复工作目录到干净的 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的修改也恢复了
版权归原作者 灯火不休ᝰ 所有, 如有侵权,请联系我们删除。