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

前言

在企业开发中,总会需要用远程仓库来管理整个团队的项目代码,git是我们常用的代码提交工具,虽然就我个人而言,在开发的过程中就只用到几个简单的命令,但也要熟练运用才行,不然就会造成一些耽误时间的麻烦事。 有一次我就因为dev提交代码然后切换到uat合并,再切回dev时发现有些没提交的代码,像测试类、没完成的半成品或是一些配置文件都没了,我直接裂开。

解决方法

假设目前我所在的分支是dev(一般为开发分支,这里只是举个例子,我的公司开发时会从dev再搞个自己的任务分支出来),然后写好代码后提交有用的代码,像测试类这些一般都不会提交到仓库。
我会先用IDEA的提交功能选择要提交的内容:

然后才打开Git Bash,输入

git stash
//缓存一下

其实如果你不缓存就切换分支,git也会提示让你缓存的
然后切换分支到uat

git checkout uat


因为我缓存过一次了,所以会提示本地没有变化要保存
再用merge合并dev提交的代码:

git merge dev

如果报错要你git pull从远程仓库下载代码,很有可能是有人更新了仓库的代码,你现在的版本对不上号,所以要先从远程仓库下载最新版本的代码才能继续合并操作
合并完成后就可以把更新的代码PUSH到远程仓库了

git push

完成后,这个时候切换回dev就会发现没提交的代码都没啦,然后就用

git stash pop

这样就能导出刚才的缓存,消失的代码又回来惹
这大概就是我每天几乎都在做的git操作
以前总觉得图形化挺好的,但是如果每天都用命令行,真的会觉得命令行比点点点快很多

结尾

请问有解决你的问题吗,如果方法有问题或者不符合您的需求请评论或私信我,我会加以改正,我也希望我的文章不要浪费大家宝贵的时间

git切换分支合并后再切回原来分支导致没有提交的代码丢失相关推荐

  1. Git分支 查看branch 创建 切换checkout 合并merge(先切回主分支) 删除branch -d 推送push

    Git分支 分支的概念 分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN.如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时 ...

  2. 话机耳机模式进入保持状态下每隔1分钟会切换到免提模式后再切回耳机模式

    式后再切回耳机模式 2022-03-03 [描述] 在用耳机模式进行通话保持时,1分钟后耳机模式会跳到免提模式1s后再跳回到耳机模式,是什么原因? [原因] 在通话保持时,因为话机会有保持提示音&qu ...

  3. git版本回退后,导致已经add的代码丢失

    git add . 后把代码提交到了暂存区,但是git status后看到很多是之前写的,不想提交,又不想一个一个撤回,想着版本回退一下,结果导致新写的功能代码直接全部丢失,无奈只能看有没有方法,经过 ...

  4. Egret eui.TextInput组件输入后未清掉焦点,微信浏览器切换后台再切回,点击会一直唤醒输入法的Bug

    如题,碰到的情况呢,是egret发布为HTML5,在点击eui.TextInput组件进行输入时,如果切换到后台,再切回后,除非再点击其他eui.TextInput组件,不然点击屏幕其他地方,都会不停 ...

  5. 现在明白Git的分支操作后再看普罗米修斯那么多分支就好理解了

    现在明白Git的分支操作后再看普罗米修斯那么多分支就好理解了 确实以后自己也没必要单独建一个仓库,就新建一个分支就可以了. .

  6. 1git命令的使用,查看git仓库状态,添加文件到git跟踪,git提交,查看git分支,查看git仓库日志信息,切换git分支,解决git分支合并后出现冲突的问题

    1新建一个存储git的文件夹,命令是: toto@toto-K45VD:~$ mkdir gitfolder 2初始化一个git仓库,命令是: toto@toto-K45VD:~$cd gitfold ...

  7. war3 win8系统 在11对战平台 切屏后 无法切回游戏

    换了win8 系统后,在11平台玩war3游戏,切屏后,总是无法切回游戏 第一步 更新显卡驱动,不要用win8自带的显卡驱动 第二步 去掉 启动11新的游戏载入界面 第三步 上两步操作后,war3的分 ...

  8. SVN 回滚(撤回)提交的代码

    一. TortoiseSVN -> Show log 二. 注意:步骤二只是让你本地的代码回滚(撤回)到你未提交前的一个版本,并不会更新到SVN服务器上,也就是说你的同事依然能更新到你错误提交的 ...

  9. 关于华为HS8145V 进入华为界面后 再刷回电信界面

    方法如下,#字后是输入的内容:0 y: u1 o' _" X: P& V0 |* ~ telnet 192.168.1.1  n( ~0 K, J0 h5 U Login:root ...

最新文章

  1. flutter 键盘遮挡输入框问题_flutter插件推荐之 keyboard_avoider - 解决输入时的键盘遮挡问题...
  2. 如何恢复默认域策略和默认域控制器策略
  3. Sublime Text 3 python和Package Control配置方法
  4. linux存储库rep 61082,安装informatic过程中的错误
  5. linux shell 中文件编码查看及转换方法
  6. PLSQL 循环游标 cursor loop fetch into
  7. lcy mysql爆破_Lcy’s Blog
  8. androidpn的学习研究(六)Androidpn-server的Mina编码和解码解析过程
  9. 机器学习代码实战——KMeans(聚类)
  10. java 实现mvcc_HBase中MVCC的实现机制及应用情况
  11. WebSocket入门使用教程
  12. netperf的安装、性能测试、参数、启动报错的坑、实例
  13. HTML iframe标签用法案例详解
  14. 双因素方差分析(R)
  15. win7显示u盘efi分区_Win7下查看U盘中的EFI盘方法
  16. 全球及中国钢铁行业投资产量趋势及营销盈利模式研究报告2021版
  17. Preliminary Design Review(初步设计评审(回顾))
  18. 图像处理基础与理解 随笔一 图像的内插
  19. win10切换输入法快捷键_软件快捷键失灵,可能是你没有安装美式键盘
  20. 在Win7中将我的电脑快捷方式放入任务栏

热门文章

  1. 利用forestplot包绘制效应量亚组分析的类森林图
  2. HTML/网站一键打包APK工具(html网页打包安卓APP应用)
  3. 初创公司自动驾驶出租车商业化丧钟已响?Drive.ai“卖身”的背后
  4. Win10能更逆天?17款系统增强小工具推荐
  5. 美容院如何设计管理会员卡?
  6. 工厂ERP系统如何改善生产管理流程?六大功能须知
  7. Linux的特殊权限(Suid、Sgid、Sbit 详解)
  8. 如何用mysql建立数据库_如何用MySQL创建数据库?详细教程看这里!
  9. mysql中家庭关系_家庭数据库是什么
  10. HFSS学习笔记——Vivaldi天线仿真(一)