我已经创建并编辑了一个fork,并提交了一个pull请求。然而,它有很多提交,我想删除一些不相关的提交。我该怎么做呢?如何清理GitHub拉取请求?
我看了很多其他的答案(如this之一),但他们都解决了一些不同的问题,因为我是GitHub的新手,我不知道如何将它们放在一起。
谢谢。
我已经创建并编辑了一个fork,并提交了一个pull请求。然而,它有很多提交,我想删除一些不相关的提交。我该怎么做呢?如何清理GitHub拉取请求?
我看了很多其他的答案(如this之一),但他们都解决了一些不同的问题,因为我是GitHub的新手,我不知道如何将它们放在一起。
谢谢。
互动变基通常工作,并且几乎总是一个更好的解决方案(详情here)。但是,我遇到了问题,不得不以不同的方式进行讨论。
1)再克隆叉子到另一个位置,这样的:
git clone /your-username/your-repo
2)从上游(细节重新启动叉here):
git remote add upstream /url/to/original/repo
git fetch upstream
git checkout master
git reset --hard upstream/master
git push origin master --force`
3)更换中的相关文件回购并提交更改。再次进行必要更改后:
git commit -m "<commit message>"
git push origin <relevant-branch>
希望这可以帮助某人一段时间。
对于您可以转到以前提交使用
git checkout {commit_id}
为提交ID,您可以使用git log
之后,你可以做新的所需更改提交。
对于进一步阅读git-checkout Git log
寻找壁球,(互动)rebase和力量推动。只需删除/编辑分支中的提交并执行强制推送。 – Julian