向上游做干净的git pull-request

时间:2013-07-11 17:56:49

标签: git pull-request

我克隆了一个仓库(确保将原始仓库标记为upstream)并采用gitflow方式:创建一个develop分支,从中创建所有新功能并将其提交回来。根据定义,从Masterdevelop的每次推送都是一个版本,这意味着master始终是可部署的。我非常喜欢这个设置。

现在有时除了这个流程之外,我可能想要回馈upstream我保留在不同功能分支中的一些功能。但是,由于功能分支是从develop HEAD创建的,而develop可能已经将其他功能分支合并回来,因此会出现问题:

  • 将特定的feature branch合并回我自己的develop即可。
  • 但我不确定如何从feature branch进行干净的请求。即:在我开始当前previous feature branches之前,没有develop的所有代码更改已合并到feature branch。我希望这是有道理的。

我很确定rebasing没有帮助,因为这只会更新我的本地功能分支,同时提交upstream提交。使用develop的继承代码更改来“清理”本地功能分支无济于事。

那么,怎么做呢?

1 个答案:

答案 0 :(得分:0)

在这种情况下,我要做的是从您要贡献的分支机构的HEAD创建一个新的本地功能分支(将在上游中库)。然后签出此分支并git cherry-pick实现您要贡献的功能的提交范围[1](提交范围将来自您的本地开发人员分支)。

之后,您可以发布新的功能分支,并可以从中提交一个干净的拉取请求。

  1. How to cherry-pick multiple commits