Git中的分离头和重定基址时的混淆冲突

Git中的分离头和重定基址时的混淆冲突,git,rebase,git-rebase,merge-conflict-resolution,Git,Rebase,Git Rebase,Merge Conflict Resolution,我有两个新的远程分支机构的签出,一个分支机构(crm-mania)成立了几个月,我正试图将其重新定位到主开发分支机构(master)。因此,我有以下几点: vagrant@localhost /var/www/current (crm-mania)$git branch * crm-mania master vagrant@localhost /var/www/current (crm-mania)$git checkout master Switched to branc

我有两个新的远程分支机构的签出,一个分支机构(
crm-mania
)成立了几个月,我正试图将其重新定位到主开发分支机构(
master
)。因此,我有以下几点:

vagrant@localhost /var/www/current (crm-mania)$git branch
* crm-mania
  master
    vagrant@localhost /var/www/current (crm-mania)$git checkout master
    Switched to branch 'master'
    vagrant@localhost /var/www/current (master)$git pull
    Already up-to-date.
然后,我做以下工作:

vagrant@localhost /var/www/current (crm-mania)$git branch
* crm-mania
  master
    vagrant@localhost /var/www/current (crm-mania)$git checkout master
    Switched to branch 'master'
    vagrant@localhost /var/www/current (master)$git pull
    Already up-to-date.
然后我尝试重新设置基址,得到以下消息(以及我删掉的其他消息):

我还发现,如果我忽略此消息并尝试解决我的冲突,Git就会识别出代码中的“冲突”,而这些代码只有我处理过,并且只存在于我的
crm mania
功能分支中。它们肯定不在
master
分支中

我面临的主要问题是头部现在已经分离

这是预期的行为。
git-rebase
的工作方式是直接检查目的地的SHA,这会让您感到头晕目眩。这就是为什么在
git-rebase
场景中,
我们的
他们的
与正常情况相反的原因

无论何时,当您在重基期间发生合并冲突时,您将始终处于分离状态。如果您
编辑交互式重基中的任何提交,也会发生这种情况


至于为什么会出现意外冲突,如果没有看到这两个分支的变更日志,这是不可能的。通常答案是“其他人修改了代码,但我没有意识到。”

您不会在master上重新设置已推送分支的基础。这将破坏其他贡献者的历史。@ckruczek
master
是主要的开发分支,
crm-mania
是功能分支。我是唯一一个致力于
crm狂热的人
,所以我不会为任何人篡改历史。我想做的是从大师那里引进所有最新的作品(大约2个月的时间),并在上面重放我的作品。你能明白为什么我的头会脱落吗?嗯,我不太清楚为什么会有脱落的头,你能提供更多的信息吗。比如,增加产量?因为你的输出目前对我来说似乎很好。啊,现在更清楚了。您必须解决合并冲突并继续使用git-rebase continue
git-rebase
在应用提交时始终将您置于分离的头部。这就是它的工作原理。