使用git stash暂存和恢复工作进度
我们有时候正在开发一个feature,突然同事插进来说发现一个重大bug,需要立即修复。但是我们的feature才编码一半,不能提交。这时候就轮到git stash闪亮登场了。git stash命令可以让我们先把当前的修改内容暂存在本地,保持working directory干净状态,接着就可以切换分支去修bug了。修完bug后,再把分支切回来,使用git stash pop命令恢复之前的修改内容,继续我们的feature编码。git stash命令支持调用多次,它有一个类似栈的概念,每调用一次会把当前未暂存的修改压栈,然后可以使用git stash pop 从栈顶拿出最近一次压栈的修改内容。
git stash常见用法
git stash- 暂存当前修改git stash save 'some message'- 功能同git stash,可额外添加一个注释信息便于找回git stash list- 查看当前有哪些暂存的修改,可以列出stash_id,供后续恢复时使用git stash pop- 取出最新的修改内容git stash pop --index- 恢复最新的修改内容到工作区和暂存区git stash pop 'stash_id'- 恢复到指定的stash_id对应的修改内容git stash apply- 功能同git stash pop但不删除刚从栈中取出的这个stashgit stash drop- 删除最新的修改内容stashgit stash drop 'stash_id'- 根据stash_id删除栈记录git stash clear- 清空stash栈(删除所有stash记录)