存储:打开以前还原的功能分支的PR

时间:2017-01-04 08:03:02

标签: git bitbucket-server

Stash社区中的其他人已请求恢复并重新打开合并的Pull请求:https://jira.atlassian.com/browse/BSERV-3218

我正面临着类似的问题,但我不在乎Stash没有提供恢复PR的方法。我遇到的问题是,Stash不允许我为之前合并然后恢复的功能分支打开一个新的PR。

情景:

  1. 根据feature/US-123(在提交0100处)
  2. 创建分支develop
  3. 在功能分支上创建一些提交(提交0201和0202)
  4. 将其他一些功能分支合并到develop(现在在提交0105)
  5. 打开feature/US-123 -> develop
  6. 的公关
  7. 接受/合并PR,在develop(commit 0106)上创建新的合并提交
  8. 决定还原合并后的功能(git revert -m1 0106
  9. 或者:
    • 直接推送revert以开发
    • 或者最好将还原提交推送到新分支(feature/US-123-revert)并打开/合并PR以进行开发
  10. 决定重新引入feature/US-123(可能需要进行其他更改)
  11. 尝试为feature/US-123 -> develop打开新的公关;请注意,即使这些提交不再在develop分支
  12. ,Stash也不会在新PR中显示原始提交

    这里有什么问题?
    这是我的误解吗? 这是我的方案引入的问题吗? 或者这实际上只是一个恼人的Stash缺陷?

    有哪些方法可以缓解这种情况?到目前为止,我有:

    • feature/US-123上的Rebase develop,因此还原提交包含在功能分支的历史记录中。不希望这样做,因为我们当前的git工作流程禁止我们在某些情况下重新定义功能分支。
    • 为上一个方案创建一个新分支feature/US-123-rebase
    • 恢复还原提交以重新引入原始合并提交,然后根据需要向功能分支添加其他提交。
    • 其他?

1 个答案:

答案 0 :(得分:0)

如果我理解正确,这是Git按预期工作。我假设您的原始功能分支自第一次合并以来没有移动,所以它正确地认为没有来自该分支的提交尚未在树中进行开发。

为了解决这个问题,我建议从开发中创建一个新的分支,从上一个分支中挑选提交,然后创建一个pull请求。