评论

收藏

[Java] IDEA:Git stash 暂存分支修改的实现代码

编程语言 编程语言 发布于:2021-09-11 21:51 | 阅读数:404 | 评论:0

这篇文章主要介绍了IDEA:Git stash 暂存分支修改的实现代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
场景:
当我们正在master分支开发新功能的时候,突然接到一个任务发现线上出现了一个紧急的BUG需要修复,由于没有打新分支做这部分新需求,这时正做到半途中....已经把本地代码修改得花里胡哨了,该怎么办,有什么办法快速解决吗?
这时Git stash这个非常实用的功能就派上用场了,将本分支的修改暂存起来。
涉及到的几个命令:
1、git status:查看工作区文件状态,列出已经修改的文件
DSC0000.jpg

2、 git stash save "自定义描述" :暂存工作区的文件
DSC0001.jpg

3、git stash list:查看所有暂存列表
DSC0002.jpg

4、git stash pop:恢复暂存的文件,直接将最近一次 stash 的代码pop出来并删除stash记录,还原到stash隐藏之前
DSC0003.jpg

5、git stash apply id:恢复暂存的文件,和git stash pop功能一样,先通过git stash list找到记录编号,通过编号id恢复。区别在于git stash apply id不会删除stash记录。
实际中还原后就没什么必要在保存stash记录了,推荐直接用git stash pop就OK了。
DSC0004.jpg

IDEA 也可以用可视化界面直接操作:右键project > git > repository
DSC0005.jpg

拓展:找回清除的 stash 数据
我们能将代码暂存起来,当然也能将暂存区的数据删除,如果在没有恢复暂存代码的时候不小心将暂存区的数据删除了该怎么吧?
只需要用这句命令即可:
git log --graph --oneline --decorate $( git fsck --no-reflog | awk "/dangling commit/ {print $3}")
找到对应的 id,然后用git stash apply id 命令直接恢复找回即可
DSC0006.jpg

以上为个人经验,希望能给大家一个参考,也希望大家多多支持CodeAE代码之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://www.cnblogs.com/boris-et/p/13441825.html

关注下面的标签,发现更多相似文章