不知道大家有没有用过或者了解过HTTPie这个项目。如果您不熟悉,这里简单介绍一下:HTTPie是一个开源的命令行HTTP客户端,其目标是使CLI与Web服务的交互尽可能人性化。HTTPie专为测试、调试以及与API和HTTP服务器交互而设计。http&https命令允许创建和发送任意HTTP请求。它们使用简单自然的语法并提供格式化和彩色输出。自2012年HTTPie项目作者在GitHub上首次提交至今已有10年。经过不断的迭代和完善,HTTPie现已成为GitHub平台上最受欢迎的API工具之一,拥有超过54000个Star和超过1,000块手表。这个项目拥有如此多的Star,却因为一场意外,将54000颗Star全部归零。项目作者JakubRoztocil最近在博客中详细介绍了事件的来龙去脉,顺便给其他项目的作者敲响警钟。发生了什么?Jakub首先承认事件是他自己的失误造成的:由于一系列不幸事件,我不小心将项目的仓库设为私有,这让GitHub删除了我们。我们花了10年时间建立的社区。为什么要私有作者Jakub说:将仓库设置为私有会永久删除所有Watch和Star,这是GitHub的一个特性。我也知道这一点,所以我显然无意将HTTPie设为私有。造成这个结果最直接的原因是Jakub以为自己在一个不同的仓库里(这个仓库没有内容也没有Star),这个仓库是他一周前创建的,但是他之前没有填充过内容。Jakub当时并没有意识到存储库的命名不一致,HTTPie项目的存储库是httpie/httpie,而Jakub想要建立的存储库是httpie/.github。这就是为什么我在没有意识到自己的错误时将httpie/httpie设为私有而不是httpie/.github的原因。当Jakub完成操作返回到组织页面时,他发现自己仍然可以看到空荡荡的仓库,但直到HTTPie项目仓库消失后,他才真正意识到发生了什么。于是Jakub立即返回设置页面尝试再次公开HTTPie。但是GitHub不允许他在接下来的半小时内这样做,因为GitHub正在“帮”他删除仓库的Star和Watch,不能中途停止进程。GitHub对他们区别对待,拒绝恢复。为了尽可能避免损失,Jakub事后第一时间联系了GitHub,希望GitHub能够帮助他们恢复原始数据。毕竟,GitHub团队自己不小心将GitHubDesktop应用程序的存储库设为私有,并在几个小时内自行恢复了所有内容。GitHubCEO解释情况:今天早上有开发者错误地将GitHubDesktop仓库设为私有,重新编辑不会恢复它的Star等东西,所以我们是从数据库备份做的。恢复。显然GitHub对此有相关的备份,可以通过备份来挽回不小心将仓库私有化造成的损失。但就HTTPie项目而言,GitHub拒绝这样做,理由是不必要的副作用和资源成本浪费。Jakub甚至向GitHub提出经济补偿,同样遭到拒绝。虽然这次事件是Jakub自己的错误操作造成的,但他也在自己的博客中提出了一些GitHub可以改进的地方,希望其他项目作者能够避免再次犯同样的错误。首先,他希望GitHub能够更清晰明了地告知用户该操作的危险性,而不是一句随处适用的“警告:这是一个具有潜在破坏性的操作”;其次,改进数据库的设计,尽可能使用“软删除”,将“硬删除”延迟一定时间。目前HTTPie已经重新开放。截至稿件完成,该项目已获得9000多颗Star。本文转自OSCHINA文章标题:54000Stars全部归零,项目作者:遗憾本文地址:https://www.oschina.net/news/191453/httpie-star-to-zero
