git stash

    它处于git reset --hard(完全放弃还修改了一半的代码)与git commit(提交代码)命令之间,很类似于“暂停”按钮。

    上面命令会将所有已提交到暂存区,以及没有提交的修改,都进行内部保存,没有将工作区恢复到上一次commit的状态。

    使用下面的命令,取回内部保存的变化,它会与当前工作区的代码合并。

    1. $ git stash pop

    git stash命令可以运行多次,保存多个未提交的修改。这些修改以“先进后出”的stack结构保存。

    git stash list命令查看内部保存的多次修改。

    上面命令假设曾经运行过命令三次。

    1. $ git stash apply stash@{1}

    上面命令不会自动删除取出的修改,需要手动删除。

    git stash 子命令一览。

    1. # 展示目前存在的stash
    2. # 切换回stash
    3. $ git stash pop
    4. # 清除stash
    5. $ git stash clear

    参考链接

    • Ryan Hodson,