前言:
本文主要解决在执行git rebase操作时,出现(no branch, rebasing feature/1)问题。即git rebase出现冲突的解决方案。
一、问题描述
首先先介绍下我这边的git管理模式:
在做项目开发时,普遍都在用git管理代码,master是主线,每个需求我都会在主线上checkout一个分支,在分支上完成需求,然后将分支merge到test分支进行测试,经过测试完的分支,需要先rebase到master,然后在merge到master。
这样会使整个分支比较整洁。
备注:
分支,指的是从主线(master)上分离出来进行另外的操作,既不影响主线,主线又可以继续干它的事,它可用来解决临时需求;当分支做完事后可合并到主线上,而分支的任务完成可以删掉了。
问题概述:
我从master新建了一个feature/260-1的分支,开发完成后,先合到test去测试,测试完成没问题后,需要将feature/260-1合到master去发布正式,在合master时,要先rebase到master再合。由于rebase的时候与master有冲突,就出现了(no branch, rebasing feature/260-1),如下图所示:
二、解决方案
执行下面三步命令,就可完美解决
(在执行命令之前,需要先把代码里的冲突解决完,解决完冲突就可以直接进行下面的操作):
// 第一步:
git add -A
// 第二步:
git commit -m '解决冲突'
// 第三步:
git rebase --continue
如图(下图中第二步的ci是自己设置的commit的重命名):
执行完continue之后,就可以直接push了,即将解完冲突的代码push到master的最新点,不过直接push可能不行(会报failed to push),需要强制push,即push -f,具体操作如下:
git push origin HEAD -f
以上,希望对大家有帮助!