github 合并变基分支没有冲突

github merge rebase branch without conflicts

我有两个兄弟分支(来自 master 分支),在将两个分支与 master 分支合并时我面临冲突。 我必须将它们与解决冲突合并(或合并冲突修复提交)。

master commit 1.init branch1 commits 是 1.init(继承自 master)2.commit1 branch2 提交是 1.init(继承自 master)2.commit2

当我在 master 分支上使用 git merge branch1 时。它工作正常但是在我 运行 git merge branch2 之后我遇到了冲突。我需要帮助使用 git rebase 将 branch2 合并到 master 中而不添加进一步的提交

                   o---o---o  branch1   
                  /
 o---o---o---o---o---o---o  master
                  \
                   o---o---o---o---o  branch2

从master分支首先合并branch1:

git merge branch1
                   o---o---o  branch1   
                  /         \
 o---o---o---o---o---o---o---o  master
                  \
                   o---o---o---o---o  branch2

然后在 master 上对 branch2 进行变基:

git rebase master branch2

你会遇到一些冲突:

First, rewinding head to replay your work on top of it...
Applying: branch2
Using index info to reconstruct a base tree...
M   fileXXX
Falling back to patching base and 3-way merge...
CONFLICT (content): Merge conflict in fileXXX

Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".

然后编辑每个冲突文件以修复冲突

git add fileXXX

git rebase --continue

你现在在 master 上有 branch2 rebase

                   o---o---o  branch1   
                  /         \
 o---o---o---o---o---o---o---o  master
                              \
                               o'--o'--o'--o'--o'  branch2

现在将 branch2 合并到 master

git checkout master
git merge branch2
                   o---o---o  branch1   
                  /         \
 o---o---o---o---o---o---o---o---o'--o'--o'--o'--o'  master