在开发过程中,一般分为这样几个分支:master(主分支,最终要上线的完美代码分支)dev(开发分支,同事共同开发的分支)tags版本号(版本分支,一般在项目上线后,出现问题和性能优化的分支)。最近在开发新功能模块时,不小心将代码提交至性能优化,bug修复的分支上了,这会导致最终本轮项目打包上线提前进行页面更新,这是很严重的问题!因为项目开发是有周期性和稳定性的。由于自己的失误,将代码push到最新版本分支上了。这如何在主管神不知鬼不觉的情况下偷偷清楚呢?(抱歉我已经被发现了)
首先第一步就是先保证自己的开发代码要保留,先在当前开发完的分支基础上创建新分支 :
git checkout -b intellgent_racket
当前创建的分支只是本地分支,还没有上传至远程仓库,此时在进行提交远程仓库:
git push origin intellgent_racket
提交完后如图所示:
此时在去查看分支,会发现已经新增成功了。
接下来我们在git pull时,他会出现如下提示:
接下来我们按照他说的进行本地仓库与远程仓库关联:
git branch --set-upstream-to=origin/<**这里是你要关联的远程仓库名**> intellgent_racket
此时关联成功,说明我们已经完成新分支建立,接下来就是解决如何在提交错误的分支上取消commit了
首先先找到要还原的commit路径:
首先先切换到提交错误的分支上:
git checkout branchName ‘提交错误的分支’
如上图所示:如果想回到confirm的地方,就找到后面标识的version号,我们先进行回到指定版本:
git reset --hard '指定version号'
这样我们就回到了指定版本下的代码了。
然后我们在进行强行提交(注意:这一步强行提交会将你回退到指定版本的代码强行覆盖,也就是说在这个版本之后的修改全都没了)
git push -f 强行提交代码。
此时已经提交成功!再去commit日志查看,发现当前最新的commit记录是刚才回退指定版本的记录,此时已解决push出错的问题。