我的pull-request中有一个提交。然后,我尝试更改我的电子邮件,并在更改后强制执行更改。现在,我的pull-request中有很多来自其他人的提交。如何删除这些提交?
我已经尝试过get reset,但是其他人的提交仍然显示在pull-request中。
现在,我的分支已经将创建主存储库以来的所有提交都包含在其中。
发布于 2016-02-22 04:40:41
可能发生了什么
可能,上游存储库在您提交当前拉取请求之前已经包含了一些(至少一个)由您提交的提交(使用您的旧/真实电子邮件地址)。当你遵循GitHub的Changing author info方法时,这些提交也被filter-branch脚本重写了,并且扩展到所有这些提交的后代,无论你是不是你,也都被重写了。
这就是该页面有一个红色警告框的原因
此操作会破坏存储库的历史记录。如果您正在与他人合作开发存储库,那么重写已发布的历史被认为是不好的做法。您应该只在紧急情况下执行此操作。
和一个蓝色的信息框,详细说明
备注:运行此脚本将重写所有存储库协作者的历史记录。完成这些步骤后,任何使用分支或克隆的人都必须获取重写的历史,并将任何本地更改重新设置为重写的历史。
您在该repo中的第一次提交可能是在其历史的早期,这就是为什么您现在在您的拉取请求中看到几乎整个repo的历史。
当前PR可能导致的结果
如果您修改后的拉取请求现在按原样合并,那么上游存储库将有两次当前提交:一次是在其原始变体中,另一次是由您重写状态。这会造成一个非常混乱的仓库历史,而且没有任何好处,因为你的旧的/真实的电子邮件地址仍然会在历史中。
你可以(和应该)做什么?
要么撤回您的拉取请求,要么
现在,您的拉取请求应该再次只引入新提交的提交,并且可能(如果其他情况下是好的和想要的)被上游存储库所有者接受。
发布于 2016-02-22 02:13:02
如果您更新分支机构,PR将会更新。做你需要做的事情,让分支看起来像你想要的样子。您可能必须重置它并强制推送您的更改。
如果是我的话,我会取消公关,换个新的。
https://stackoverflow.com/questions/35539824
复制相似问题