git rebase:我在来自不同提交的相同文件上遇到冲突

时间:2015-07-03 18:17:13

标签: git github git-merge git-rebase

这是我的情况: 通过~30次提交对功能分支进行了各种更改 需要从Github中提取develop-branch并将其与feature-branch上的更改合并。

这就是我的尝试:

git pull --rebase origin develop
CONFLICT (content): Merge conflict in users.py

然后我解决冲突,

git add users.py
git status              # everything looks clean, couple of untracked files
git rebase --continue
return: No changes - did you forget to use 'git add'?
If there is nothing left to stage, chances are that something else
already introduced the same changes; you might want to skip this patch.
   git rebase --skip

CONFLICT#这次,相同的文件,但不同的提交!

基本上,当我解决冲突并暂存每个文件时,引入了其他冲突。我注意到在功能分支的每次提交中,feature-branch和develop-branch之间存在冲突! 我怎么解决这个问题?

1 个答案:

答案 0 :(得分:2)

当您执行rebase时,git所做的就是使用两个分支上的最后一个公共提交并首先应用上游更改然后它将所有本地提交放在之后 / em>在上游变化之上的分歧。在此rebase过程中,git将提交逐个应用于上游更改。

因此,有可能您的功能分支中的所有更改都可能以某种方式与开发分支冲突,除非它们是开发分支中不存在的文件的一部分