【问题标题】:How to delete a remote commit?如何删除远程提交?
【发布时间】:2025-12-12 18:30:01
【问题描述】:

我做了一些提交并将它们推送到 Github 存储库。 然后我决定放弃这些,使用git reset --hardgit push origin --force 覆盖原始提交。

但似乎它们并没有在问题页面中消失(那些提交提到了相同的问题),仍然在问题页面上被引用,使该页面变得混乱,尽管它们在提交日志中不可见。

如何彻底删除?

更新

流程如下:

在我当前的分支上,最新的提交
做出一些改变
git add .
git commit -m "made some changes" -m "and mentions the issue #123
git push

在 github 上显示一个新的提交,a1b2c3,
现在问题 #123 页面显示了一个活动“a1b2c3 提到了这个问题”。

出于某种原因,我不想要这个提交。
git reset --hard HEAD^
再次进行一些更改
git commit -m "made new changes" -m "still mentioning issue #123"
git push --force

这个新的提交 d4e5f6 代替了提交 a1b2c3,并且 a1b2c3 在 repo 中是不可见的。

但是在issue页面上,有两个activity,
"a1b2c3 提到了这个问题"
“d4e5f6 提到了这个问题”
并且您实际上可以看到之前丢弃的提交 a1b2c3。

我想要的是一个干净的问题页面(其他人也是,我搞砸了)。

【问题讨论】:

    标签: git github issue-tracking


    【解决方案1】:

    Issues 是一个 github 应用程序,而不是 git。 github提供git远程repo等功能。

    我猜你想彻底删除一个问题。但不幸的是,github API 只允许你打开/关闭/重新打开问题。

    you can look at api docs

    【讨论】:

    • 对不起,“git”标签令人困惑,主要是关于 github。我不想删除这个问题,我推送到远程然后在本地和远程丢弃的提交不属于任何分支,提到相同的问题,并出现在相同的问题页面上。我以为它们被 git push --force 覆盖了,但似乎没有,它们仍然可以通过提交 SHA 访问。
    • @Arxz “问题页面”是什么意思?关于guides.github.com/features/issues?这与提交无关。
    • 好的,this 是问题页面,所以所有这些事件或活动都是由 repo 所有者通过脚本自动生成的,不是 github 这样做的吗?
    • @Arxz,你可以看到help.github.com/articles/…。希望对您有所帮助。