git stash (pycharm/vscode的gui演示)

  • 场景
  1. 代码刚写到一半,发现线上bug需要马上修改部署上线
  2. 此时手头的代码写一半,提交根本跑不动甚至影响原来的业务了
  3. 回滚就白瞎搬了好几小时的砖了
  • 好的实践(git分支管理比较规范时)
  1. 每个功能或bug修复都从主干创建一个分支
  2. 开发完成后合并回主干
  3. 遇到上述情况时,当前分支代码保存本地(开发当前功能是从主干拉取的)
  4. 从主干重新拉取一个分支修改后合并
  5. 切换回开发到一半的分支继续开发
  • 当项目很小,参与人员1-2人时,维护分支较为繁琐,只在一个分支上开发时
  1. 使用git stash暂存(未提交的代码放在暂存区中)
  2. 修复bug,部署上线
  3. 使用git unstash从暂存区中取出未完成代码,继续开发
  • 以下结合pycharm和vscode的gui操作演示

pycharm

  1. 暂存当前未提交代码

点击"Git">"Uncommitted Changes">"Stash Changes..."

  1. Message中填入信息(用于还原选择),点击"Create Stash",就可以看到刚写的代码没掉了

  1. 在当前分支修改代码,然后提交

  2. 重新获取暂存代码

点击"Git">"Uncommitted Changes">"Unstash Changes..."

  1. 选择对应暂存记录,点击"Apply Stash"即可还原代码

vscode

  1. 暂存当前未提交代码

点击"Git"图标 > 提交界面右上角的"..." > "Stash" > "Stash"

  1. 在弹窗中填入暂存名称后回车

  1. 在当前分支修改代码,然后提交

  2. 重新获取暂存代码

点击"Git"图标 > 提交界面右上角的"..." > "Stash" > "Apply Stash"/"Pop Stash"

区别就是Pop会删除记录,Apply不删除,Latest是最后一次,带"..."就会弹窗选择一个

最新文章

  1. 客户访问站点将bbs/链接 跳转至forum/链接下的两种方式
  2. .net的一些新语法的整理
  3. 【BZOJ】1132: [POI2008]Tro
  4. Python科学画图小结
  5. c programming language ___ 5_2.c
  6. The Story of self Parameter in Python, Demystified
  7. grep正则表达式后面的单引号和双引号的区别
  8. Bootstrap教程
  9. 如何在win下编译thunderbird
  10. RFS的web自动化验收测试——第14讲 万能的evaluate
  11. break和continue 的区别
  12. vue较深入的知识点
  13. ES6躬行记(17)——Map
  14. 如何写 go 代码 (How to Write Go Code 翻译)
  15. windows环境下redis启动加到服务中
  16. 基于sendEmail的简单zabbix邮件报警
  17. java锁在等待唤醒机制中作用
  18. 环境变量GOBIN导致GoClipse运行出现异常
  19. 【ROS系列】使用QT编写ROS订阅、发布程序
  20. Python登录,输入三次密码

热门文章

  1. HTML网址集合
  2. Cannot read properties of null (reading ‘insertBefore‘)
  3. 硬件IIC的7位从机地址查询方式读写参考代码
  4. Kubernetes部署的10个注意事项
  5. 生成数据库文档 —— Spring Boot + Screw
  6. JAVA 【SM2】加密解密
  7. selenium定位元素不稳定的解决方式
  8. [Notes-DS-1]时间复杂度的几个概念和计算方法
  9. css 实现 加载中动画效果
  10. IDEA报错Error running ‘Application‘: Command line is too long解决方案