赞
踩
项目情景:现有一套公司产品源码V1.0,我的工作任务是要在产品源码上进行二次开发
针对于git 项目,假设现有远程分支master(产品源码),将代码克隆下来,在此基础上进行开发,并将开发的代码推送到master分支(虽然我一早就知道最好不要在主分支开,但是由于这个项目就我一个人负责,于是我便将master分支占为己有,小朋友千万不要学我哦~~~)
项目进行到这个时候,技术经理突然通知我,产品源码V1.0已经升级到了V2.0,需要将我二次开发的代码跟新版本源码V2.0进行合并!!!!
于是我先将产品源码V2.0版本下载到本地,在master分支执行git checkout -b mergeV2.0,新建了个本地分支mergeV2.0,并将产品源码提交到mergeV2.0的分支上,然后再切换到master,执行git merge mergeV2.0
这个时候,我以为一次完美的合并即将诞生!!!
然而.........
虽然V2.0版本的代码已经合并到master分支上,却把我在master分支上开发的代码全都delete掉了,于是我重复操作了几次,甚至动用了我在公司的势力(找其他前端同事寻求帮助),全都无济于事。
于是我尝试了在网上找的各种方法,全都不行。。。。
最后,在我默默的加了两天班之后,终于找到了问题的原因:
不能在含有二次开发代码的分支上新建分支!!!
不能在含有二次开发代码的分支上新建分支!!!
不能在含有二次开发代码的分支上新建分支!!!
解决办法:
新建dev分支,将产品源码V1.0提交到dev分支,然后在dev分支上创建mergeV2.0分支(因为之前创建过mergeV2.0分支,需先删除再创建),然后把二次开发代码 commit 到dev分支,切换到mergeV2.0分支,将产品源码V2.0 commit 到mergeV2.0分支上,再切换到dev分支,执行git merge mergeV2.0,如果有冲突执行“ :wq ” 即可,合并成功,问题就这样解决啦~
希望本文章会对你有所帮助哦~~~ 笔芯❤
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。