search

Home  >  Q&A  >  body text

Git stash 命令是否有好的替换方案

在 Ruby 中文看到的 stash 的用法, 后来还真的用上了...
在多个分支切换的时候, 未提交的代码用 stash 暂存, 然后干啥干啥回来 apply
可这样一来我从不敢存两个, 栈里的东西一多, 马上就容易记错
.. 这样还不如先 commit, 之后 reset HEAD^ --soft 来回滚不是么
我也在想, 为什么 Git 不是默认 Stage 上的改动是自动归类到 branch 里面的呢?
如果那样, 不是每次在每个分支上做修改都不会影响到别的分支了么?
...想来 Git 有他的道理, 求讲解...
同时我也想有个更好的方案来应对切换分支时未保存的修改的问题..

黄舟黄舟2801 days ago696

reply all(1)I'll reply

  • 高洛峰

    高洛峰2017-04-21 11:20:20

    Save multiple and add notes.

    git stash save "message"

    stash list also contains branch information

    git stash list

    stash@{0}: On branch2: message2
    stash@{1}: On branch1: message1

    Just choose what you want to restore.

    git stash pop stash@\{1\} 

    Switching stash between different branches should be the best solution.

    reply
    0
  • Cancelreply