我将GitHub项目分叉到我自己的存储库中。我的存储库只包含一个“master”分支,我在其中提交自己的代码。分叉项目也包含“主”分支。
我不时会在原始代码中找到并修复一些错误,并且我想创建一个拉取请求,以便原始项目的开发人员可以添加修复程序。但是,我不想在此拉取请求中添加我更改的所有代码,只需修复。
我认为在这里继续进行的正确方法是在我的存储库中创建一个新分支,将其与原始分叉主服务器同步,提交修复程序并创建pull请求。我的问题是:我如何创建一个分支并摆脱我的所有提交以与分叉的主服务器同步?
顺便说一下,这实际上是最实用的方法吗?
答案 0 :(得分:2)
您可以使用要删除的git revert命令创建分支并还原所有提交。
然后sync forked repository以完成上游存储库中的所有更改。
答案 1 :(得分:1)
我可以建议您解决问题的后续步骤:
git remote add upstream <url_to_forked_project>;
git fetch upstream;
git checkout upstream/master -b fix;
git cherry-pick <commit_hash>;
或以某种方式进行新的提交
git push origin fix:fix;
git branch -d fix;
- 删除未使用的分支