如何清理 GitHub 拉取请求?

How to clean up GitHub pull request?

我创建并编辑了一个分支,并提交了一个拉取请求。但是,上面有很多提交,我想删除一些不相关的。我该怎么做呢?

我看过许多其他答案(例如 this 一个),但它们都解决了略有不同的问题,而且由于我是 GitHub 的新手,我不知道如何输入他们都在一起。

谢谢。

为此,您可以使用

转到上一个提交

git checkout {commit_id} for commit id you can use git log

之后,您可以根据需要的更改进行新提交。

进一步阅读 git-checkout Git log

Interactive rebase 通常有效,并且几乎总是更好的解决方案(详情 here)。但是,我遇到了问题,不得不换一种方式。

1) 将您的叉子重新克隆到另一个位置,例如:

git clone /your-username/your-repo

2) 从上游重启你的fork(详情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) 替换 repo 中的相关文件并提交更改。再次进行必要的更改后:

git commit -m "<commit message>"
git push origin <relevant-branch>

希望这对某些人有所帮助。