IDEA:Git stash 暂存分支修改的实现代码
场景:
当我们正在master分支开发新功能的时候,突然接到一个任务发现线上出现了一个紧急的BUG需要修复,由于没有打新分支做这部分新需求,这时正做到半途中....已经把本地代码修改得花里胡哨了,该怎么办,有什么办法快速解决吗?
这时Gitstash这个非常实用的功能就派上用场了,将本分支的修改暂存起来。
涉及到的几个命令:
1、gitstatus:查看工作区文件状态,列出已经修改的文件
2、gitstashsave'自定义描述':暂存工作区的文件
3、gitstashlist:查看所有暂存列表
4、gitstashpop:恢复暂存的文件,直接将最近一次stash的代码pop出来并删除stash记录,还原到stash隐藏之前
5、gitstashapplyid:恢复暂存的文件,和gitstashpop功能一样,先通过gitstashlist找到记录编号,通过编号id恢复。区别在于gitstashapplyid不会删除stash记录。
实际中还原后就没什么必要在保存stash记录了,推荐直接用gitstashpop就OK了。
IDEA也可以用可视化界面直接操作:右键project>git>repository
拓展:找回清除的stash数据
我们能将代码暂存起来,当然也能将暂存区的数据删除,如果在没有恢复暂存代码的时候不小心将暂存区的数据删除了该怎么吧?
只需要用这句命令即可:
gitlog--graph--oneline--decorate$(gitfsck--no-reflog|awk'/danglingcommit/{print$3}')
找到对应的id,然后用gitstashapplyid命令直接恢复找回即可
以上为个人经验,希望能给大家一个参考,也希望大家多多支持毛票票。如有错误或未考虑完全的地方,望不吝赐教。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。