如何清理GitHub的拉取请求?

3
我已创建并编辑了一个分支,并提交了拉取请求。但是,它有很多次提交,我想删除一些不相关的提交。我该怎么做?
我查看了许多其他答案(比如this),但它们都涉及略微不同的问题,由于我是GitHub的新手,我不知道如何将它们整合在一起。
谢谢。

2
搜索 squash,(交互式) rebase 和 force push。只需删除/编辑您的分支中的提交并进行强制推送即可。 - Julian
2个回答

2

交互式变基通常有效,几乎总是更好的解决方案(详情请参见这里)。然而,我遇到了一些问题,不得不采用另一种方法。

1)重新克隆您的分支到另一个位置,例如:

git clone /your-username/your-repo

2) 从上游重新启动您的派生版本(详情请点击此处):

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>

希望这能帮助到某些人。

-1

你可以使用以下命令回到之前的提交:

git checkout {commit_id} 其中commit_id可以通过 git log查看

然后,你可以进行新的提交并添加你想要的更改。

如需了解更多,请参考git-checkout Git log


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接