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