IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 解决git切换分支导致代码丢失的问题 -> 正文阅读

[开发工具]解决git切换分支导致代码丢失的问题

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

问题背景:

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

解决方法:

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

image-20220330183225564

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

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

image-20220331081237697

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

 1) 问题出现原因:当前在A分支修改一个问题,修改进行到一半,来了一个紧急的生产问题需要修复,在不提交当前分支代码的情况下,切换到M分支修改紧急需求。修改完毕后,A分支修改的内容丢失。
 2) 解决:
     i. 接到紧急任务后,在A分支使用 git stash 暂存当前修改,当前代码会恢复到本地最近一次commit
     ii. 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)

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-04-26 11:58:27  更:2022-04-26 11:59:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 14:57:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码