8

我对 git 或 github 几乎一无所知,我也不想要任何线索。但是我碰巧有一个针对开源项目的两行错误修复。本着合作的精神,我想回馈它。如果它不会让我付出太多的痛苦。

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

回想起来,在我进行两行错误修复之前,我可能应该创建一个完整的单独项目分支,但是 a) 这对两行代码来说太麻烦了 b) 我不知道我想贡献我写它时的错误修复。无论如何,现在为时已晚。

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

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

4

1 回答 1

7

最简单的方法是

  1. 使用您当前的更改设置一个分支,然后返回上游分支(您的提交必须基于上游 repo)
  2. 为拉取请求创建一个新分支
  3. 拿起有 bug 修复的提交
  4. 推送并创建拉取请求

这使

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原始的分叉回购在哪里

于 2013-02-27T08:34:02.360 回答