我几乎没有关于git或github的线索,我不想要任何线索。但我碰巧在这里有一个开源项目的两行错误修正。本着合作的精神,无论如何,我想回馈它。如果它不会让我付出太多的痛苦。
所以,很久以前我分叉了存储库,然后偶尔做了一些我自己的修改,然后就在最近制作了这个两行错误修正。一切都已经检查到主分支并推回原点。现在我想对两行错误修正提出拉取请求。似乎github没有提供任何此类设施。
回想起来,在我制作两行错误修正版之前,我可能应该已经完成了一个完整的项目分支,但是a)对于两行代码而言,这是太多的管理痛苦而且b)我不知道我想要在我写这篇文章的时候回复了bugfix。无论如何,现在已经太晚了。
我可以创建一个新分支,但仍然包含所有其他垃圾更改。所以它不会让我到处都是。我想从上游创建一个新的分支,排除我所有的本地更改,然后重做这一个更改。但除了制作一个全新的分叉之外,我看不出有什么方法可以做到这一点,而且我不想要一个全新的分叉。
现在我最好的解决方案就是放弃:代码现在适用于我,这不是我的问题。有人有更好的计划吗?
答案 0 :(得分:7)
最简单的方法是
给出了
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
是原始的分叉回购