柚子快报邀请码778899分享:git stash详解
提示:我们经常修改程序出现问题,想要回去以前版本查看,而又不想丢失工作区和暂存区的代码,而此时代码也没修改完也不想提交,就要用到stash
目录
前言1、将未提交的修改保存至堆栈1.1 git stash1.2 git stash list1.3 git stash show
2、切换到第一次提交3、切换回master分支4、将当前stash中的内容弹出,并应用到当前分支对应的工作目录上4.1 git stash pop4.2 git stash apply
5、删除堆栈5.1 从堆栈中移除某个指定的stash5.2 清除堆栈中的所有 内容
前言
使用 git stash 可以将没有提交的内容(包括工作区和暂存区)保存至堆栈中。
注意: 如果工作区新建了个文件,此文件从来没有被添加到暂存区,那么这个文件就不能被git管理,也就不能被保存到堆栈
1、将未提交的修改保存至堆栈
将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录。
其中所有未提交的修改不包括工作区新建的文件
可以使用 git stash 或者 git stash save "注释" 然后我将t1文件乱加一些字符 t1文件被改动,改动后也没有提交,也就是改动后的t1在工作区。
1.1 git stash
使用 git stash 将未提交的文件(也就是t1)保存到堆栈: git stash save 作用等同于git stash,区别是可以加一些注释
特别说明: 当使用 git stash 将工作区内容提交到堆栈临时存储后,工作区的内容会立刻变为上一次提交的内容。 此时如果使用 git stash pop将堆栈内容弹出,工作区内容立马恢复。
1.2 git stash list
使用git stash list列出所有保存的临时提交(stash) 您当前只有一个保存的临时提交,它的标识为 stash@{0}。 该临时提交的消息是 “WIP on master: 6b63346 第三次提交”,表示该临时提交是在 master 分支上进行的工作,并且是提交对 6b63346(提交的哈希值)的更改。
1.3 git stash show
使用git stash show查看堆栈中最新保存的stash 更改信息 t1 | 1 + 有一个文件发生了更改。文件名为 t1,文件中插入了一行内容 1 file changed, 1 insertion(+) 输出还显示了更改的摘要信息: 1 file changed:一个文件发生了更改。 1 insertion(+):插入了一行内容。
2、切换到第一次提交
我们可以看到t1内容变为以前的内容了。 此时我们再查看堆栈里面的内容依然存在:
3、切换回master分支
4、将当前stash中的内容弹出,并应用到当前分支对应的工作目录上
4.1 git stash pop
将当前stash中的内容弹出,并应用到当前分支对应的工作目录上。 注:该命令将堆栈中最近保存的内容删除(栈是先进后出) 已经恢复了之前工作区的内容了 此时堆栈区也没有内容了
4.2 git stash apply
将堆栈中的内容应用到当前目录,不同于git stash pop,该命令不会将内容从堆栈中删除,也就说该命令能够将堆栈的内容多次应用到工作目录中,适应于多个分支的情况。
5、删除堆栈
5.1 从堆栈中移除某个指定的stash
git stash drop + 名称
5.2 清除堆栈中的所有 内容
git stash clear
参考: https://blog.csdn.net/stone_yw/article/details/80795669
柚子快报邀请码778899分享:git stash详解
推荐文章
发表评论