如何将我的分叉回购的部分更改作为补丁提交?

时间:2013-04-24 09:57:38

标签: github

我从GitHub分发了一个回购并进行了一系列更改。然后我发现我在一个文件中的一个修改可能是原始repo问题的补丁,但作者不想合并我的其他修改,所以我不想直接发送拉请求。而且我认为再次分叉并只是修改该文件以制作补丁然后发送拉请求似乎不那么优雅。有没有“标准”的方法呢?

2 个答案:

答案 0 :(得分:8)

在我看来,你应该创建一个具有相同root的新分支,然后使用cherry-pick添加你所做的每一个提交,除了那些未被作者接受的提交。

然后在此分支上发送拉取请求。

此外,如果您想将所有修改重组为一个简单的提交,您可以在本地分支上使用squash rebase,然后再将其推送到网上。

答案 1 :(得分:1)

记下所需提交的SHA-1哈希值。切换回原始项目的主分支,从中创建一个新分支,并将cherry-pick提交到新分支。

然后,您可以将新分支推送到GitHub并发送带有更改的PR。

如果您在一次提交中修改了多个文件,则必须以某种方式重写提交。