试图合并分支,然后试图rebase - 仍然不能强制master与dev分支相同

时间:2012-06-21 21:21:49

标签: git merge rebase git-merge git-rebase

我一直在尝试将我的dev分支合并到主分支中,但这是我第一次,我认为我完全误解了这个术语。

首先,我尝试了合并:

我试图将dev合并到master中,但是没有用。在解决冲突时,我使用“我们的”思想,这意味着将“我的”dev分支合并到主服务器中,但是当事情发生变化时,该网站看起来与开发分支结账时看起来不一样。

然后我尝试了一个基础:

然后我肆无忌惮地尝试了一个rebase,认为这会强制master分支与dev分支相同但是再次,可能使用错误的选项来解决冲突,因为站点看起来与初始合并后的相同。

此时,我可以强制主分支与开发分支相同吗?

如果我切换回dev分支,该网站看起来是正确的 - 如何将更改合并到主分支中,以使该网站看起来与检出开发分支时相同?

或者在这一点上,有没有办法强制主人与开发人员相同?

对不起,如果这很容易,我发现git中的术语令人困惑,似乎不理解我读过的答案/教程 - 任何帮助都会非常感激。

BTW,我正在使用Mac Git客户端,Tower。

干杯

2 个答案:

答案 0 :(得分:0)

如果你想强迫主人与dev"相同,那么永远有效的程序是:

  • 删除主分支(git checkout dev; git branch -D master
  • 从dev(git branch master; git checkout master
  • 重新创建master分支

...现在两个分支是相同的(相同的HEAD,因此历史相同)。

您的问题很可能是在您的混合合并之后没有重置。理论上,无论是rebase(具有共同的祖先)还是合并,都会产生一个整合来自两个分支的变化的分支。如果合并没有按照您的意愿进行,请重新设置,然后重试。不要承诺结果,直到你对此感到满意为止!

答案 1 :(得分:0)

我不知道Mac客户端,但我一直在使用windows / linux的git客户端和eclipse的插件,他们都可以选择强制更新。

如果使用图形界面进行推送,则应该出现一个选项,否则您肯定需要在命令行中添加选项。

但是在强力更新之前,你试过这个:

- 提交您的更改

-Pull来自主分支

- 使用合并工具,在eclipse中,您还可以比较其他上游的分支。 解决冲突后,再次添加所有文件git add .

再次提名!

- 将您的分支推送到主分支

希望知道Tower的人可以为您提供更多帮助!