当前位置:   article > 正文

git stash命令_git stash获取先前

git stash获取先前

使用git的时候,我们往往使用分支(branch)解决任务切换问题,例如:我们往往会建一个自己的分支去修改和调试代码,如果别人或者自己发现原有的分支上有个不得不修改的bug,我们往往会把完成一半的代码commit提交到本地仓库,然后切换分支去修改bug,改好之后再切换回来(因为直接切回原分支,工作区的修改或者暂存区中的修改会被带到原分支中)。

类似这种完成一半或者不完善的代码,最好是不要 提交,因为这样的话往往log上会有大量不必要的记录。这时,可以使用git stash将当前未提交到本地的代码推入到Git的栈中,这时候你的工作区间和上一次提交的内容是完全一样的,然后切到原分支,等到修完Bug,提交到服务器上后,再切回分支使用git stash apply将以前一半的工作应用回来。

1、常见用法:

  • git stash //备份当前工作区、暂存区中的修改到git栈中,并且还原工作区
  • git stash save “XXX” //加一个message
  • git stash list //列出git栈内所有的备份
  • git stash pop //从git栈中取出最近的一个备份,恢复到工作区,并从git中删除该备份
  • git stash pop stash@{n} //指定git栈中某个备份,恢复到工作区中,并从git中删除该备份
  • git stash apply //从git栈中取出最近的一个备份,恢复到工作区,不从git中删除该备份
  • git stash apply stash@{n} //指定git栈中某个备份,恢复到工作区中,不从git中删除该备份
  • git stash clear //清空git栈

说明:每执行一次git stash都会将当前工作区的修改添加到git栈中(如果没有修改,则不会备份到git栈中),并且清空当前工作区上的修改;每执行一次git stash pop则从栈中弹出一个备份。栈中元素名字依次是stash@{n},n从0开始,栈顶元素始终是stash@{0}

2、示例:

示例1)

示例2)从暂存区中备份

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/702908
推荐阅读