如何使用git stash

时间:2022-9-7    作者:悬浮的青春    分类:


git stash是我们使用git中的常用操作, 比如正在分支a上修复bug, 改了一些文件, 但是此时分支b上有一个很紧急的bug, 需要切换到分支b上修复。于是git checkout 分支b, 咦不让切换, 说是需要先将修改的文件提交。但是因为分支a上的bug未修复完不想提交怎么办, 于是git stash就出场了

git stash基本用法

  1. 查看已经添加的储藏栈内容,git stash list
  2. 将已修改的内容添加到储藏区,git stash; 如果需要包含新添加的文件,可以加上-u参数, git stash -u
  3. git stash apply 0(0是stash中的第1条记录), 将储藏区的第一条恢复到工作区(会在stash保存记录); 如果恢复之后不需要在stash中保存的话, 可以使用git stash pop 0(0是stash中的第1条记录)
  4. git stash clear, 清空储藏区

git stash clear之后的恢复

如果我们使用git stash将已修改的一些文件储藏起来了, 然后使用git stash clear清除之后还可以恢复么?

答案是 可以

首先请出我们的主角:git fsck命令

步骤

  1. git fsck --lost-found, 找出刚才删除的提交对象和文件对象, 里面是一个一个的 dangling commit commitId
  2. git show commitId一个一个的查看修改的内容, 找到了我们需要恢复的commitId之后
  3. git stash apply commitId直接恢复就可以了

WRITTEN BY

avatar


评论:

悬浮的青春 2022-09-08 09:40
测试