强制推送后如何从GitHub PR永久删除(或隐藏)提交

时间:2018-12-18 01:19:07

标签: git github

为了从GitHub存储库中删除提交,典型的建议是在本地删除提交(例如,通过<user>force-push the modified branch over the original remote branch)。

但是,如果有问题的远程分支是请求请求的一部分,那么GitHub现在会有用地显示消息

  

<remote_branch>强制将<old-commit>分支从<new-commit>推到<old-commit>

并显示一个链接,以查看<new-commit>mat datepicker component之间的差异。 (这似乎是最近的更改,我不记得之前遇到过此消息。)

根据another answer here,GitHub应该定期删除不再引用的提交。但是由于他们确实在UI中引用了旧提交,因此我怀疑他们会保留它。 (我已经很长时间没有看到这个明显的新功能了,还没有找到任何正式的提及。)

是否可以以防止其他用户看到该提交的方式删除远程提交?或者至少有可能从PR讨论页面中删除以上消息? 是否有其他方法可以更改PR的基础分支的内容,而每个人都不能从PR页面访问旧提交(至少除非他们知道提交哈希)?

(此问题不是关于删除敏感信息(例如密码)的,我知道无论以后是否删除提交,这些信息都应被视为已泄露)。

1 个答案:

答案 0 :(得分:0)

虽然通常用于清除敏感数据,但这也将用于删除提交/文件。来自GitHub's docs

  

如果您将敏感数据(例如密码或SSH密钥)提交到Git中   存储库,您可以将其从历史记录中删除。完全删除   您可以使用git的历史记录中不需要的文件   filter-branch命令或BFG Repo-Cleaner开源工具。

有关两者的用法,请参见上面的文档链接。