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
我有两个兄弟分支(来自 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