2014-09-06 84 views
2

这是我的场景。如何为具有我的更改的功能分支提交拉取请求

我有一个分支,我执行代码迭代。

然后当我想冻结代码库时,我有一个分支。

如果在冻结的代码库中发现了一个错误,那么我必须从冻结的代码库中创建一个功能分支并合并回冻结的代码库。因此,该方案是这样的:

  • BRANCH1
    • 支2(冷冻)

我有一个确定的错误:

  • 1处
    • 分支2(冷冻)
    • 分支3(特性分支以修复2处代码错误)

我总是在BRANCH1迭代所以这个分支不应该发挥作用。

我遇到的问题是我在我的github pull请求中看到了我的提交。

  • 某人将错误修正推送到branch2(远程)。
  • 相同的更改不在branch1中。
  • 我获取并rebase branch2(本地)。
  • 我将更改合并到branch3中。
  • 我把我的新分支3上游到github(远程)。

我现在不仅看到了我的更改,而且还看到了我的pull请求中最后一次落在branch2中的提交。

有谁知道为什么会发生这种情况,以及我如何解决这个问题?

预先感谢您。

回答

1

在合并中,尝试使用--no-ff选项的变化,即

git commit --no-ff -m"msg"保存提交历史,并放置在顶部的变化。

0

我想说的问题是:< <

  • 我获取和重订BRANCH2(本地)。
  • 我将更改合并到branch3中。>>

对于这样的情况下,我更愿意执行衍合到店2到店3:

git checkout branch3 
git rebase branch2 

有复位店3到BRANCH2后将重新申请更改。这样,公关就保持清洁,如果发生冲突,你必须解决自己的变化,而不是来自其他人的变更。

请注意,您必须强制推送branch3,因为它的历史记录已更改,但对临时功能分支不是问题。

相关问题