我的拉动请求中有一个提交.然后,我尝试更改我的电子邮件,并在执行此操作后强行推送更改.现在我在其他人的拉取请求中有很多提交.如何删除这些提交?
我试过重置,但其他人的提交仍然显示在pull-request中.
现在,我的分支拥有自创建主存储库以来的所有提交.
在您提交当前拉取请求之前,上游存储库可能已包含一些(至少一个)提交(使用您的旧/真实电子邮件地址).filter-branch
当您遵循GitHub的更改作者信息配方时,这些提交也已被脚本 重写,并且通过扩展,所有这些提交的后代,无论是否由您进行,都已被重写.
这就是为什么该页面有一个红色警告框说
此操作会破坏您的存储库历史记录.如果您正在与其他人协作存储库,则重写已发布的历史记录被认为是不好的做法.你应该只在紧急情况下这样做.
和一个蓝色信息框详细说明
注意:运行此脚本会重写所有存储库协作者的历史记录.完成这些步骤后,任何拥有叉子或克隆的人都必须获取重写的历史记录,并将任何本地更改重新绑定到重写的历史记录中.
你在该回购中的第一次提交可能是其历史的早期,这就是为什么你现在在拉动请求中看到几乎整个回购的历史.
您的修改后的拉取请求现在是否按原样合并,然后它将大部分当前提交两次:一次进入原始变体,一次进入重写状态.这将导致非常混乱的存储库历史记录并且没有任何好处,因为您的旧/真实电子邮件地址仍将在历史记录中.
要么撤回你的拉动请求,要么
找到您的分支最初基于的上游repo的提交.
将您的分支重新定位到该提交.这应该是可能的,没有任何合并冲突.
再次强制推动您的分支,从而再次更新拉取请求.
现在,您的pull请求应该再次引入新提交的提交,并且可能(如果其他方面很好并且想要)被上游存储库所有者接受.