柚子快报邀请码778899分享:git stash详解

http://yzkb.51969.com/

提示:我们经常修改程序出现问题,想要回去以前版本查看,而又不想丢失工作区和暂存区的代码,而此时代码也没修改完也不想提交,就要用到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详解

http://yzkb.51969.com/

推荐文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: