如何完全从GitHub上删除一个问题?

420

是否可能从GitHub问题跟踪器完全移除一个问题?


37
一个有趣的副问题:这个答案在法律上是否一致?我不知道美国情况如何,但在欧洲,作者享有超越版权的权利,即可以决定如何/是否发布作品。这意味着可以决定撤回出版物。这项权利甚至不能转让给第三方(它是一项道德权利)。 - Willem Van Onsem
2
@CommuSoft 很好的考虑。也许通过被遗忘权来起诉他们是当今欧洲人最好的选择。 - Ciro Santilli OurBigBook.com
1
@CommuSoft 从技术上讲,您可以编辑标题/消息,因此我相信这对GH来说是很容易被辩护的。:) - Marek Lewandowski
3
@MarekLewandowski 在问题主体方面是正确的,但对于标题来说则不然,因为标题会显示无法删除的“更改了标题”评论。 - Ciro Santilli OurBigBook.com
1
请参见GitHub上的删除/完全移除问题 - kenorb
显示剩余4条评论
11个回答

220

1
这也适用于协作者吗?如果是,那么我们如何删除用户有时通过错误跟踪器而不是邮件列表或Stack Overflow提出的问题?我觉得很难相信我们必须向GitHub提交错误报告并要求他们将其删除。 - jww
29
将近7年和数千次请求之后,GitHub仍然不能删除issue :/ 看来要过一段时间才能在火星上拥有飞行汽车和摩天大楼。 - Sliq
1
这个答案已经不再准确了。我曾经遇到另一个用户(不是GH)更改了我的问题标题,更改了问题文本,然后删除了编辑历史记录,以便没有人能够看到最初报告的问题(它只是对某些内容质量较差且事实上有误的批评,没有不雅、粗俗或非常无礼之处)。 - StingyJack
@StingyJack,这与删除问题不同(尽管实际上它几乎相似)。 - Mauricio Scheffer
唯一的区别是该问题没有被删除。 - Anders Lindén
显示剩余2条评论

62

如果一个问题是重复的,你可以编辑该现有问题,并更改标题、描述和目标里程碑为完全不同的内容。这是你能够做到的最接近删除票务的方法,就我所知。


4
请注意,无法编辑其他用户发布的问题标题。 - ocodo
@EmacsFodder 现在标题和 OP 的评论都可以编辑。我不确定是什么时候添加的。可能只有存储库所有者才能这样做?很可能是这样。 - Sourabh
5
由于GitHub最近引入了审计日志,这个方法不再起作用。https://github.com/blog/1866-the-new-github-issues - Daniel Imms

45
更新于2018年11月:如果您是仓库的所有者,现在可以删除问题
请参见“Github - remove issues entered in error”。

Issue deletion

https://docs.github.com/en/github/managing-your-work-on-github/deleting-an-issue提到:

拥有存储库管理权限的人可以从存储库中永久删除问题。

对于其他人(没有权限),questionto42评论显示,您可以请求GitHub支持删除问题,如此处所示


在2018年5月,原始答案:

8年后,关闭问题仍然是答案(仍然无法删除)。
请参见“The Ghost of Issues Past”,GitHub建议检查并关闭:


1
@j4k3 但是我在更新的答案开头提到的2018年11月的帖子是否回答了这个问题?(意思是:十年了,但它仍然“算数”吗?) - VonC
哦,亲爱的。当我阅读你的回答时,不知怎么地,我竟然忽略了所有这些内容,包括截图。感谢你指出来。 - j4k3
1
@CiroSantilliTRUMPBANISBAD 很好的观点,感谢您的编辑! - VonC
1
我可以确认这一点,作为一个没有管理员权限的用户,我可以请求开源团队向GitHub管理员删除我的问题,而且确实成功了,请参见如何在GitHub上删除问题或其内容,考虑到项目的普通成员没有权限? - questionto42
1
@questionto42 谢谢。我已经将您的评论包含在答案中,以增加其可见性。 - VonC
显示剩余4条评论

31

留给后人参考:删除问题将是一件坏事,因为通常它们可以成为Github上关联的目标。

但是,如果您愿意牺牲协作信息,这里有一个“用大锤猛击”的方法:

  1. 克隆您的原始存储库。
  2. 通过Issues API复制您的问题。
  3. 删除原始存储库;或者选择新名称来创建新存储库。
  4. 基于您的克隆重新创建一个新存储库。
  5. 通过Issues API重新创建您想要保留的问题。

我认为这可能会潜在地丢失很多其他链接信息,比如forks、pull requests等。


6
如果发生了不寻常的情况,删除问题是有意义的。例如,我正在将我的代码和问题移动到GitHub上,但在我完成移动之前,有人已经在GitHub上报告了一个“新”的问题。我需要保持问题编号不变,因此现在我必须完全接管这个“错误”的问题。 - Joseph Wright
39
哈哈!虽然你的答案在技术上是正确的,但这太麻烦了,而且完全是疯狂的事情! - Sandeep Raju Prabhakar
12
这个答案在技术上并不正确,充满了个人意见。我们正在讨论缺乏基本的CRUD(D)操作,而不是删除问题的意见。软件解决方案限制基本功能,试图“保护我们免受自己的伤害”,这是有失尊严和不尊重的行为。我们不需要被当成婴儿来照顾,这不是美国联邦政府。 - Volte
3
理论上我同意接口中存在不一致性。告诉发帖人不要这么做并不是我的主要观点,这只是在我建议采用潜在有破坏力的暴力路径来实现发帖人的目标之前提出的一个警示性声明。此外,StackOverflow不是批评Github API的适当场所,应该向Github提出批评。 - jerseyboy
1
如果您在评论中输入问题编号,则会自动创建链接。您甚至可以通过这种方式链接到其他存储库中的问题。原帖作者表示,如果您删除了问题,这些关联将会丢失。 - mraaroncruz
显示剩余2条评论

29

公共功能请求

2014年8月,我给GitHub写信https://github.com/jdennes通过电子邮件回复:

感谢您的建议。目前只能编辑/清除问题内容。我已经在我们的内部功能请求列表中为这个建议添加了一个+1。

确认当前功能不可用。

目前最佳解决方法

  • 将标题设置为永远不会与任何搜索冲突的内容,例如单个点.

    由于自动无法删除的“更改标题为”评论,这可能无法完全隐藏您的错误历史。

  • 使正文为空。

GitHub员工有权力

如果某个问题涉及安全问题,请联系GitHub员工。他们通常会快速回复,并能够彻底删除问题,如http://archive.is/OfjVt所示,其中包含问题1和3但不包括2。


9

如果非常重要,您可以删除整个存储库。


3
+1'd以修复-1。这可能很荒谬,但这是实际删除内容的唯一方法。 宝宝,洗澡水和厨房水槽。 Translated: "+1'd" means to fix the "-1". This may seem absurd, but it is the only way to actually remove the content. "Baby, bath water, and kitchen sink" is an expression that means everything is being removed, without any consideration for what should be kept. - Dan Lugg

4

可能的解决方法

截至2019年4月,无法删除所有问题,目前的解决方法是编辑问题,然后删除编辑历史记录,唯一的缺点是问题仍然存在,并且旧标题仍然可见。

Screenshot_20190419_072804


0

用户无法执行此操作,包括仓库所有者在内。

但是,问题可以由 Github 支持团队删除。您可以联系他们并请求删除。这可能会被推迟或拒绝,但它是一个可用的选项。


0

仍然不可能。在其他答案中提出的解决方法之外,另一个解决方法是将问题标记为“已删除”(或任何您更喜欢的其他标签),以便在使用GitHub API检索它们时过滤它们。显然,您应该仅针对此目的使用特定的标签,并在关闭问题时设置标签。


1
现在可以了。 - Radium Zheng

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接