美文网首页
Git---储藏(Stashing)

Git---储藏(Stashing)

作者: WorldPeace_hp | 来源:发表于2018-01-16 19:52 被阅读0次

    经常有这样的事情发生,当你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作。问题是,你不想提交进行了一半的工作,否则以后你无法回到这个工作点。解决这个问题的办法就是git stash命令。

    “‘储藏”“可以获取你工作目录的中间状态——也就是你修改过的被追踪的文件和暂存的变更——并将它保存到一个未完结变更的堆栈中,随时可以重新应用。

    下面我们来介绍下关于stash的使用:

    • 储存
      $ git stash
      将当前工作区已修改状态下的文件储藏起来,在栈中增加一条存储。

    • 列出所有存储
      $ git stash list

    • 重新应用储藏
      $ git stash pop
      重新应用最后一次储藏,同时立刻将其从堆栈中移走。

    • 应用储藏
      $ git stash apply stash@{0}
      通过存储名应用到当前工作区,但并不会从栈中移除。

    • 取消储藏
      $ git stash show -p stash@{0} | git apply -R
      在某些情况下,你可能想应用储藏的修改,在进行了一些其他的修改后,又要取消之前所应用储藏的修改。Git没有提供类似于 stash unapply 的命令,但是可以通过取消该储藏的补丁达到同样的效果。

    你可能会想要新建一个別名,在你的 Git 里增加一个 stash-unapply 命令,这样更有效率:
    $ git config --global alias.stash-unapply '!git stash show -p | git apply -R'
    $ git stash apply
    $ #... work work work
    $ git stash-unapply

    • 移除存储
      $ git stash drop stashName
      如果希望从栈中移除存储,则运行 git stash drop加上你希望移除的储藏的名字。

    • 创建新分支
      $ git stash branch branchName
      这会创建一个新的分支,检出你储藏工作时的所处的提交,重新应用你的工作,如果成功,将会丢弃储藏。

    相关文章

      网友评论

          本文标题:Git---储藏(Stashing)

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