解决git切换分支导致代码丢失的问题

问题背景:

​ 因为本人手里有好几个不同的项目,当手里有正在做的项目,却被临时叫去修改另外一个项目,而此时又不想把现有的代码提交,于是就强制切换到了另外一个分支上。悲剧的事情发生了,再次切换回来的时候发现之前写的代码丢失了。

解决方法:

​ 本人使用的编程工具为VS Code。一般上述情况下,是无法进行正常切换分支的。因为git的工作机制会要求尽量保持一个较为干净的工作区和暂存区。所以就算你成功切换了分支,vscode会帮你把切换前的代码执行stash,就是储藏起来。当你再次切换回来的时候,可以从这个‘’贮藏室‘’里面取出之前存放的代码

​ 执行指令git stash list可以用来查看目前储藏室里面已经存储的代码列表,取出来也很简单。使用指令git stash apply stash@{n},其中的n代表的是list列表的前缀,根据需要恢复的代码进行变化的。

​ 但是此时需要注意一个问题,就是在powershell中使用该指令,会出现大括号{}不被识别的现象。这是因为大括号在 PowerShell 中被认为是代码块执行标识符,若想正常使用,可用反引号 ` 进行转义。当然也可以直接在git bash中使用该指令。

​ 通过上述的方法,可以成功找回丢失的代码。

 1) 问题出现原因:当前在A分支修改一个问题,修改进行到一半,来了一个紧急的生产问题需要修复,在不提交当前分支代码的情况下,切换到M分支修改紧急需求。修改完毕后,A分支修改的内容丢失。2) 解决:i. 接到紧急任务后,在A分支使用 git stash 暂存当前修改,当前代码会恢复到本地最近一次commitii. git checkout M 切换到M分支,完成紧急迭代任务iii. git checkout A 切回原分支,当前代码一贫如洗iv. git stash list 查看暂存列表,里面(# list stashed changes in this git )stash@{0}: xxxxxxxxxxxxxxx;stash@{1}: yyyyyyyyyyyyyyyyyyyyy;stash@{2}: zzzzzzzzzzzzzzzzzzzzzzzzz;stash@{3}: vvvvvvvvvvvvvvvvvvv;v. 如果没有在次中间使用git stash 的话,可以直接看最近的一次暂存git show stash@{0}vi. 两种方式取出这条暂存:i. git stash apply stash@{0} 取出暂存号为stash@{0}的代码,对暂存列表无影响(# see the last stash )ii.git stash pop 取出最近的一次暂存,并将其在暂存列表中删除(apply last stash and remove it from the list)

解决git切换分支导致代码丢失的问题相关推荐

  1. git合并分支导致代码丢失问题,记录勉励自己

    git代码丢失不要慌,只要你的代码经历过git add 基本都能找回来,之前代码合并时遇到代码丢失,切换回不到其他分支,一直提示"正在变基"解决方案: git 合并分支造成多余分支 ...

  2. idea 切换分支导致代码丢失问题

    记录一下代码生涯中遇到的坑希望可以帮助到大家: 今天在自己新建的分支上写代码,然后切换到主分支后弹出来一个框提示,有文件冲突了我看了一下冲突的内容没什么要紧的代码就点了以下三个选项中的force ch ...

  3. 【消失的代码】Git 合并分支导致代码消失

    1. 问题背景 A 页面的代码莫名其妙消失了,而且不清楚是什么时候被删的. 发现这个问题之后,心里除了一句"草泥马"以外,也萌生了很多疑惑.比如说,团队在代码上线前,是有 CR 流 ...

  4. Git切换分支 更新代码

    问题背景: 工作过程中遇到这么一个问题 之前没有遇到过 随手记录一下 通常git上一般有很多分支,我们clone到本地的时候一般都是master分支,但是如果需要切换到其他分支应该怎么做呢? 问题解决 ...

  5. git切换分支合并后再切回原来分支导致没有提交的代码丢失

    git切换分支合并后再切回原来分支导致没有提交的代码丢失 前言 在企业开发中,总会需要用远程仓库来管理整个团队的项目代码,git是我们常用的代码提交工具,虽然就我个人而言,在开发的过程中就只用到几个简 ...

  6. Git 切换分支,拉取分支代码指令操作

    git命令切换分支_ZHL's Blog-CSDN博客_git切换分支  git命令切换分支 https://www.jianshu.com/p/856ce249ed78 Git如何拉取指定远程分支 ...

  7. git切换分支时,如何干净的切换到另一个分支上?

    git切换分支时,如何干净的切换到另一个分支上? 代码热修时,组长说要切一个新分支给我们大家做bug修复使用,所以不能将当前分支的代码迁移污染到新分支 在网上找到了几种方法,做下记录 https:// ...

  8. git切换分支遇到的小问题

    能在IDEA编辑器右下角的git分支显示里面看到一个新的分支,但是不能切换到: 各种pull更新操作都不管用,(后来想到可能是用了自己以前的git账户,只有几个分支某一次被管理员给了权限,其他的分支没 ...

  9. git切换分支保存修改的代码的方法

    刚才做操作发现一个问题,就是本地有一个old分支,此时本地又new了一个新的分支,那么我在old分支上做修改后切换到new分支上,发现文件是修改后的.原本理解是一个分支一套代码,那么为什么此时代码是一 ...

最新文章

  1. 谁说程序员干到 35 岁就不行了?
  2. [译] Service workers:PWA应用背后的英雄
  3. prototype原型模式
  4. webpack使用教程
  5. Serverless 落地之痛怎么解?
  6. MFC 之 重绘按键Cbutton
  7. GUI编程tkinter模块常用参数(python3)
  8. nginx nodejs环境配置_nodejs + nginx + ECS阿里云服务器环境设置
  9. 随想录(libc.so和ld.so调试)
  10. bzoj 1085: [SCOI2005]骑士精神(IDA*)
  11. 黑马 Python 数据结构与算法第一章
  12. H5 img标签图片无法显示 -- 解决方案
  13. Reds关键技术分析及应用
  14. mui关闭页面plus.webview.currentWebview().close();使用后页面闪现一下的问题解决
  15. 【相机标定推导】关于齐次坐标的理解(经典)
  16. 利用计算机求解问题的核心工作就是,教材习题及答案
  17. hihoCoder 1430 A Boring Problem(数论)
  18. 华为c8812开机一直android,华为c8812刷机教程
  19. power pivot计算列和计算字段(度量值)
  20. 使用 chkdsk 命令修复 SD 卡

热门文章

  1. u大师u盘装系统win7_什么是u盘启动装系统 u盘启动装系统方法【介绍】
  2. 偷偷翻开学妹笔记本,发现绝密Spring Cloud Alibaba笔记
  3. 唐志德:AMD打造CPU与GPU强大融合性能
  4. 对标天猫、主打带货,“购物号”能否成为微信的新增长点?
  5. 设备状态检测系统串口网络TCP UDP带有modbus
  6. Mysql添加索引(存储过程,可以重复执行)
  7. 精斗云面向企业应用开发者,构建开放服务生态
  8. mac nginx重启 及相关配置目录
  9. 网络安全实验室 注入关通关writeup
  10. 人工智能是一门新颖的技性科学,它基于计算机理论和方法