Git:我怎样才能通过解决tip节点上的合并冲突来合并两个分支?

时间:2013-08-23 01:07:51

标签: git merge branch git-merge rebase

这是我的树有两个分支:狗和猫。

A - B - C - D <- dog
|
E - F - G - H - I - J - K - L <- cat

每封信都是提交。我正在研究分支猫,需要从分支狗获得所有更新的更改。

我正在做的命令是:

git checkout cat
git rebase dog

我现在正在解决合并冲突,但似乎要求我解决合并冲突和合并A&amp; L,B&amp; L,C&amp; L和D&amp; L.我只想解决合并D&amp; D的冲突。 L,因为A,B和C中的所有内容都已经反映在D.有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

rebase基本上会撤消所有更改(E-L),将代码更新为D,然后在D之上进行所有更改(E-L)。这不是您正在寻找的。

我认为你应该做一个git merge。

git checkout cat
git merge dog

从git-merge手册页:

合并来自命名提交的更改(因为它们的历史与当前版本不同)        分支)进入当前分支。 git pull使用此命令来合并来自另一个的更改        存储库,可以手动使用,将更改从一个分支合并到另一个分支。

   Assume the following history exists and the current branch is "master":

                 A---B---C topic
                /
           D---E---F---G master

   Then "git merge topic" will replay the changes made on the topic branch since it diverged from master
   (i.e., E) until its current commit (C) on top of master, and record the result in a new commit along
   with the names of the two parent commits and a log message from the user describing the changes.

                 A---B---C topic
                /         \
           D---E---F---G---H master