网站首页 > 技术文章 正文
开场白
人生就像一盒巧克力,你永远不知道下一颗是什么味道。
故事背景
同事昨天写了一天的代码,等到快要下班时候,要急着回家,然后拉了下代码,匆忙之中忘了提交本地代码,其中有一个类另外一个同事也做了修改,然后提交到远程仓库。
结果本地代码被pull拉去后给覆盖了,今天发现代码丢失后,同事如热锅的蚂蚁,如果代码找不回来。要重写是小事,万一因为这耽误了工作进度,可能面临失业的危机。同事虽然也有好几年开发经验,但是怎么见过这种阵仗,平常的开发都是Git commit ,pull ,push ,然后就是合并下冲突。代码被强制更新还是大姑娘上桥-头一回
于是找到了拥有多年使用git经验的我,请求我想想办法,一定要把代码给他找出来,并且给出了一顿饭的诱惑。
分析问题-复盘
按我的经验,如果没提交合并,一般都会提示提交。如果强制提交,会先保存在暂存区stash。为了稳妥起见,我让他重新模拟一遍之前的操作,当天拉代码时候,果然出现了以下提示。
由于他用的苹果图形化界面,结果直接默认了stash ,他也没有注意,结果直接把他的代码给覆盖了。
git stash 简介
git stash就可以将你当前未提交到本地(和服务器)的代码推入到Git的栈中,这时候你的工作区间和上一次提交的内容是完全一样的,所以你可以放心的修Bug,等到修完Bug,提交到服务器上后,再使用git stash apply将以前一半的工作应用回来。可以把stash区理解为一个本地仓库的缓存仓库。图解
具体步骤
- git stash list 查看暂存列表
2.git apply git stash apply stash@{$num}
默认使用最近的stash(即stash@{0})。如果要用第二个,git stash apply stash@{1}
拓展
如果要移除使用 git stash drop
猜你喜欢
- 2024-09-27 git生成公私钥,并放到github中,免用户名、密码下载代码
- 2024-09-27 这才是真正的Git——Git 全功能揭秘
- 2024-09-27 如果你还不会用git回滚代码,那你一定要来看看
- 2024-09-27 开发工程师的工具包之Git(go开发工程师下载)
- 2024-09-27 idea使用git stash暂存代码。#git
- 2024-09-27 嵌入式高手教程第7集 如何用Git管理本地代码 三哥说技术
- 2024-09-27 Java面试题之项目管理工具 Git 篇
- 2024-09-27 程序员开发必会之git常用命令,git配置、拉取、提交、分支管理
- 2024-09-27 Git 代码防丢指南(代码提交到git怎么忽略文件)
- 2024-09-27 git使用方法,自己整理记录一下(git怎么用?)
- 1512℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 556℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 504℃MySQL service启动脚本浅析(r12笔记第59天)
- 482℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 480℃启用MySQL查询缓存(mysql8.0查询缓存)
- 460℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 440℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 438℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- c语言min函数头文件 (68)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)