如何只对一次更改提出拉取请求?

时间:2013-02-27 08:20:51

标签: git github pull-request

我几乎没有关于git或github的线索,我不想要任何线索。但我碰巧在这里有一个开源项目的两行错误修正。本着合作的精神,无论如何,我想回馈它。如果它不会让我付出太多的痛苦。

所以,很久以前我分叉了存储库,然后偶尔做了一些我自己的修改,然后就在最近制作了这个两行错误修正。一切都已经检查到主分支并推回原点。现在我想对两行错误修正提出拉取请求。似乎github没有提供任何此类设施。

回想起来,在我制作两行错误修正版之前,我可能应该已经完成​​了一个完整的项目分支,但是a)对于两行代码而言,这是太多的管理痛苦而且b)我不知道我想要在我写这篇文章的时候回复了bugfix。无论如何,现在已经太晚了。

我可以创建一个新分支,但仍然包含所有其他垃圾更改。所以它不会让我到处都是。我想从上游创建一个新的分支,排除我所有的本地更改,然后重做这一个更改。但除了制作一个全新的分叉之外,我看不出有什么方法可以做到这一点,而且我不想要一个全新的分叉。

现在我最好的解决方案就是放弃:代码现在适用于我,这不是我的问题。有人有更好的计划吗?

1 个答案:

答案 0 :(得分:7)

最简单的方法是

  1. 使用当前更改设置分支,然后返回上游分支(您的提交必须基于上游存储库)
  2. 为拉取请求创建新分支
  3. 拿起有错误修复的提交
  4. 推送并创建拉取请求
  5. 给出了

    git branch my-changes
    git stash #just in case you have uncommitted changes
    git checkout -b bugfix upstream/master
    git cherry-pick <bugfix-commit-sha>
    git push --set-upstream origin bugfix
    

    其中upstream是原始的分叉回购