Git常用命令之stash简单使用


需求场景:两个分支branch new 和 branch old 一老的一新的两个分支。
在new分支开发一部分 突然中途插入 old分支要做一些功能修复 直接切换分支会导致new分支所做修改 被带入打开的old分支。

---我们想要的效果:
1:new 分支的修改不带入old分支

2:old分支处理完成后还可以切回new分支继续进行开发任务

方案一:直接将new分支的修改commit后切换到old分支即可(这种方式更适用与小阶段性开发完毕情况)

方案二:使用git stash命令。(适用于开发一半,中途切换)

用法一:
在new分支下 使用git stash这样会将 new分支的修改暂存起来 但是没有保存修改信息 如果有多条stash则难以区分

用法二:
在new分支下:使用git stash save "message信息" 暂存new分支修改的同时 自己可以添加这次暂存修改的备注


------查看 当前分支有多少stash暂存列表
git stash list

----在有暂存的情况下,取出最近一次的暂存修改 以在本次修改的基础上继续工作
git stash pop ---这种方式会在取出最近一次暂存修改后删除 stash
或者
git stash apply stash@{0}--这种方式在取出最近一次暂存后不会删除该暂存。

----在有多个暂存的情况下,取出历史某一个暂存的修改 以在那次修改的基础上继续工作
git stash apply stash@{x} 注:x为 git stash list 查到的,x为0时为最近一次的修改暂存。

----在两个暂存之间 切换工作 注意要rollback后再取出,否则会报错,导致暂存取出失败。
报错示例
(error: Your local changes to the following files would be overwritten by merge:
cib-cls/src/main/resources/application-dev.yaml
Please commit your changes or stash them before you merge.
Aborting)

---清除所有的git stash
git stash clear


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM