当前位置:  开发笔记 > 开发工具 > 正文

如何从pull请求中删除提交?

如何解决《如何从pull请求中删除提交?》经验,为你挑选了1个好方法。

我的拉动请求中有一个提交.然后,我尝试更改我的电子邮件,并在执行此操作后强行推送更改.现在我在其他人的拉取请求中有很多提交.如何删除这些提交?

我试过重置,但其他人的提交仍然显示在pull-request中.

现在,我的分支拥有自创建主存储库以来的所有提交.



1> das-g..:

可能发生了什么

在您提交当前拉取请求之前,上游存储库可能已包含一些(至少一个)提交(使用您的旧/真实电子邮件地址).filter-branch当您遵循GitHub的更改作者信息配方时,这些提交也已被脚本 重写,并且通过扩展,所有这些提交的后代,无论是否由您进行,都已被重写.

这就是为什么该页面有一个红色警告框说

此操作会破坏您的存储库历史记录.如果您正在与其他人协作存储库,则重写已发布的历史记录被认为是不好的做法.你应该只在紧急情况下这样做.

和一个蓝色信息框详细说明

注意:运行此脚本会重写所有存储库协作者的历史记录.完成这些步骤后,任何拥有叉子或克隆的人都必须获取重写的历史记录,并将任何本地更改重新绑定到重写的历史记录中.

你在该回购中的第一次提交可能是其历史的早期,这就是为什么你现在在拉动请求中看到几乎整个回购的历史.

目前的公关可能会导致什么

您的修改后的拉取请求现在是否按原样合并,然后它将大部分当前提交两次:一次进入原始变体,一次进入重写状态.这将导致非常混乱的存储库历史记录并且没有任何好处,因为您的旧/真实电子邮件地址仍将在历史记录中.

你可以(而且应该)做什么

要么撤回你的拉动请求,要么

    找到您的分支最初基于的上游repo的提交.

    将您的分支重新定位到该提交.这应该是可能的,没有任何合并冲突.

    再次强制推动您的分支,从而再次更新拉取请求.

现在,您的pull请求应该再次引入新提交的提交,并且可能(如果其他方面很好并且想要)被上游存储库所有者接受.

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有