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

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

前言

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

解决方法

假设目前我所在的分支是dev(一般为开发分支,这里只是举个例子,我的公司开发时会从dev再搞个自己的任务分支出来),然后写好代码后提交有用的代码,像测试类这些一般都不会提交到仓库。
我会先用IDEA的提交功能选择要提交的内容:
git切换分支合并后再切回原来分支导致没有提交的代码丢失_第1张图片
然后才打开Git Bash,输入

git stash
//缓存一下

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

git checkout uat

git切换分支合并后再切回原来分支导致没有提交的代码丢失_第2张图片
因为我缓存过一次了,所以会提示本地没有变化要保存
再用merge合并dev提交的代码:

git merge dev

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

git push

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

git stash pop

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

结尾

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

你可能感兴趣的:(git,gitlab)