美文网首页GitGit使用程序员
Git - git stash基本使用

Git - git stash基本使用

作者: tongxyj | 来源:发表于2018-07-04 14:44 被阅读8次

在自己分支改代码改的正爽,这个时候来了个bug需要切到develop分支,这个时候想切换分支但是当前分支改动一大堆,既不想提交自己分支没改完的代码,又不能撤销,就可以使用git stash这个命令,它可以将你现在的工作现场保存在一个栈里,等你去别的分支改完bug回来后,再使用git stash apply命令,就可以恢复你的工作现场了,回来后所有你修改的代码仍然是未修改的状态,这样可以继续你的思路,看看哪些是正在修改的地方而不至于匆忙commit回来后漏掉之前修改的地方了。
用过的人会觉得很简单,没用过的人还得在网上搜一圈,感觉也不是很直观,下面说一下简单使用:

一.stash

工作现场

可以看到我现在在自己的test分支,在项目中的某一个文件里加入了一个fuck方法,现在我吃了一个bug,需要切换到develop分支而我又不想提交这个fuck方法,那么我就先stash一下,这里我用的是Sourcetree,命令行也是一样的。


stash.png

点击Sourcetree的stash按钮。


stash message

这里可以输入一个statsh的message,和commit时的message一样,方便记录你的stash信息,下面有个选项keep staged changes暂时没发现干啥用的,可勾可不勾。


stash完

可以看到stash完以后当前分支已经看不到任何修改了,这样我就可以随便切换到我想去的分支了,假设我切到develop分支改掉了那个bug,现在又切会test分支,现在我要恢复刚才我修改fuck方法的那个现场,有两种方式,1.Sourcetree 2.命令行。

二.恢复

1.Sourcetree恢复

image.png

最新版Souretree左边栏最底部就能看到一栏STASHES,这里看到了我之前的在test分支上的stash,直接双击


stash

弹框出来问你是否恢复后要删除这项stash,删不删随你,这里我就不删了。

2.命令行恢复

ternimal

(1).从Sourcetree打开终端。

git stash apply

(2).输入git stash apply命令

以上两种方式结束后:


恢复现场

是不是很惊喜,你修改的文件和代码,又回到之前的状态了,还是那个熟悉的fuck方法。

三.注意

注意点:对于新加入的文件,在stash的时候一定要将它们勾选到staged files(暂存区)中,不然是不会被stash的。

unstaged files

上面的dddd.h、dddd.m和一张蒙层.png都是新加入的文件,这几个文件没有被勾选进staged files(暂存区)是不会被stash的,应该像下面这样


staged files

以上基本就是stash的快速入门了,当然他也有高级的用法,目前项目中我觉得会这种最基本的就可以解决我开头提到的痛点了。

四.总结

1.点击Sourcetree上方的stash按钮,输入message
2.点击Sourcetree上方的Ternimal按钮
3.在Srourcetree左下方切回stash或者在命令行中输入git stash apply
3步搞定,是不是非常的酷😎。

相关文章

  • Git stash 技巧

    Git stash常用技巧 git stash save git stash list git stash app...

  • Git - git stash基本使用

    在自己分支改代码改的正爽,这个时候来了个bug需要切到develop分支,这个时候想切换分支但是当前分支改动一大堆...

  • stash 操作暂存区

    涉及命令:git stash、stash list、git stash apply、git stash drop ...

  • 【Git】stash

    stash git stash // 加入缓存区git stash save "注释"git stash list...

  • stash

    git stash ; //暂存 git stash list ;//暂存列表 git stash apply s...

  • git 缓存的常用方法

    git 缓存的常用方法 git stash2.git stash pop3.git stash list4.git...

  • git部分命令实战总结【原创】

    git stash 一般与git stash pop 一起配合使用 前者的作用是把当前git add . 命...

  • git stash

    git stashgit stash pop(最新的暂存) 如果不想使用最新的暂存,可以 git stash li...

  • Git Stash

    save stash$ git stash list stash$ git stash list apply st...

  • git stash

    git stash git stash命令之后,再执行git status时,提示工作区是一个干净的工作区 使用场...

网友评论

本文标题:Git - git stash基本使用

本文链接:https://www.haomeiwen.com/subject/jbyeuftx.html