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操作 以前总觉得图形化挺好的,但是如果每天都用命令行,真的会觉得命令行比点点点快很多
结尾
请问有解决你的问题吗,如果方法有问题或者不符合您的需求请评论或私信我,我会加以改正,我也希望我的文章不要浪费大家宝贵的时间
|