时间:2021-05-20
当我们正在master分支开发新功能的时候,突然接到一个任务发现线上出现了一个紧急的BUG需要修复,由于没有打新分支做这部分新需求,这时正做到半途中....已经把本地代码修改得花里胡哨了,该怎么办,有什么办法快速解决吗?
这时Git stash这个非常实用的功能就派上用场了,将本分支的修改暂存起来。
1、git status:查看工作区文件状态,列出已经修改的文件
2、 git stash save '自定义描述' :暂存工作区的文件
3、git stash list:查看所有暂存列表
4、git stash pop:恢复暂存的文件,直接将最近一次 stash 的代码pop出来并删除stash记录,还原到stash隐藏之前
5、git stash apply id:恢复暂存的文件,和git stash pop功能一样,先通过git stash list找到记录编号,通过编号id恢复。区别在于git stash apply id不会删除stash记录。
实际中还原后就没什么必要在保存stash记录了,推荐直接用git stash pop就OK了。
IDEA 也可以用可视化界面直接操作:右键project > git > repository
拓展:找回清除的 stash 数据
我们能将代码暂存起来,当然也能将暂存区的数据删除,如果在没有恢复暂存代码的时候不小心将暂存区的数据删除了该怎么吧?
只需要用这句命令即可:
git log --graph --oneline --decorate $( git fsck --no-reflog | awk '/dangling commit/ {print $3}')
找到对应的 id,然后用git stash apply id 命令直接恢复找回即可
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
idea切换分支时,修改过的代码文件全部不见了找了一下问题,切换分支时,idea自动会创建暂存文件,点开,右边View-->即可显示暂存文件。点击ApplySt
git的工作流工作区:即自己当前分支所修改的代码,gitaddxx之前的!不包括gitaddxx和gitcommitxxx之后的。暂存区:已经gitaddxxx
gitcheckout.#本地所有修改的。没有的提交的,都返回到原来的状态gitstash#把所有没有提交的修改暂存到stash里面。可用gitstashpop
ideagit切换分支方法点击下方的git,checkout出要开发的分支切换多个分支后如何保maven正常idea多个分支来回切换后会导致本地maven依赖信
【建议】修改代码前明确分支,提交代码前先拉取代码,有冲突则解决冲突。总结到此这篇关于Git常用场景使用-分支操作的文章就介绍到这了,更多相关Git常用场景使用内