git历史分支修复

背景介绍:某人A与某人B在开发特性分支完成后,往验证分支合并时,出现了冲突,但是A或者B在合并时,并没发觉,当分支上了主干分支后,特性分支被删除,但某一天在合并其它分支或代码检查时,发现主干分支代码存在问题,此时需要做分支fix,即将A与B编写的分支代码合并一次,然后再往主分支以及其它验证分支合并。然而令人意想不到得是:此时特性分支已经删除!面对此情此景,那么我们该如何修复主干或者验证分支代码呢?是拉取主干分支,重新编写一次代码呢?还是在直接在主干分支修改呢?

当然,这个案例可能比较特殊,我们现在不妨假设特性分支并未删除,我相信很多人都能想到解决方案,即将两个特性分支合并,再往验证分支合并,待验证通过后,往主干分支合并即可。那么现在的问题,即是怎么找回分支!我相信大家可能有各种各样不同的解决方式,现在就个人意见,分享下本人的处理方案。其处理流程如下图1所示。

修复流程图
图1   修复流程图

正如上图所示,其核心命令即为:git checkout commit_id -b newBranchName,其中commit_id 为commit 提交记录id,可通过git log 找寻,若集成到了第三编辑器,可直接查看文件提交commit.根据commit id 复制的分支,与原有分支一模一样,因此可安全使用。而其它操作例如合并分支,提交分支,由于过于简单,在此不做介绍,若不懂之处,可自行百度,在此不做过多介绍。

 

发表评论

电子邮件地址不会被公开。