当前位置:   article > 正文

git 命令之stash详解

如何删除stash中指定的进度

git 详解

需求分析

人和电脑一样,会遇到中断,需要保存现在的上下文转而去处理其他更紧急的事情。我们在使用git的时候也会遇到这样的情况。当在需要紧急处理一个bug时,工作区内容又没有完成,不适合提交,想暂存起来。

方案实施

git提供了git stash命令来解决这样的需求。下面我们做一个完整实验来体验一下:

生成测试环境

  1. // 初始化仓库,进行一次提交
  2. # git init stash-test
  3. # cd stash-test && echo 'hello'> readme
  4. # git add . && git commit -m "init"
  5. // 修改工作区和暂存区
  6. # echo 'need to be stashed' >> readme
  7. # git add readme
  8. // 查看此时工作区和版本库区别
  9. # git diff HEAD
  10. diff --git a/readme b/readme
  11. index ce01362..55d6c28 100644
  12. --- a/readme
  13. +++ b/readme
  14. @@ -1 +1,2 @@
  15.  hello
  16. +need to be stashed

执行stash及恢复

  1. // 暂存当前状态
  2. # git stash
  3. // 查看当前工作区和版本库区别
  4. # git diff HEAD
  5. ==> 此时什么都没有输出,说明工作区被重置为HEAD指向内容了
  6. // 显示已暂存列表
  7. # git stash list
  8. stash@{0}: WIP on master: 440e976 init
  9. // 恢复暂存区和工作区进度
  10. # git stash pop --index stash@{0}
  11. // 查看工作区和版本库区别
  12. # git diff HEAD
  13. diff --git a/readme b/readme
  14. index ce01362..55d6c28 100644
  15. --- a/readme
  16. +++ b/readme
  17. @@ -1 +1,2 @@
  18.  hello
  19. +need to be stashed

哒哒~~之前的工作又回来啦

命令详解

注:

  •  []方括号中内容为可选,[<stash>]里面的stash代表进度的编号形如:stash@{0}, <>尖括号内的必填

git stash 对当前的暂存区和工作区状态进行保存。
git stash list 列出所有保存的进度列表。
git stash pop [--index] [<stash>] 恢复工作进度

  1. --index 参数:不仅恢复工作区,还恢复暂存区
  2. <stash> 指定恢复某一个具体进度。如果没有这个参数,默认恢复最新进度
  3. 如:以下命令恢复编号为0的进度的工作区和暂存区
  4. # git stash pop --index stash@{0}

git stash [save message] [-k|--no-keep-index] [--patch]

  1. 这是git stash保存进度的完整命令形式
  2. 使用save可以对进度添加备注
  3. # git stash save "这是保存的进度"
  4. 现在执行list,会发现后面会出现自定义的被合租
  5. # git stash list
  6. stash@{0}: On master: 这是保存的进度
  7. -k和--no-keep-index指定保存进度后,是否重置暂存区
  8. --patch 会显示工作区和HEAD的差异,通过编辑差异文件,排除不需要保存的内容。和git add -p命令类似

git stash apply [--index] [<stash>] 不删除已恢复的进度,其他同git stash pop
git stash drop [<stash>] 删除某一个进度,默认删除最新进度
git stash clear 删除所有进度
git stash branch <branchname> <stash> 基于进度创建分支


转载于:https://my.oschina.net/venn0126/blog/620768

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

闽ICP备14008679号