5.4万Star全部归零,项目作者:十分后悔
文?| Travis
出品 | OSC開源社區(qū)(ID:oschina2013)
不知道大家是否使用或了解過 HTTPie 這個(gè)項(xiàng)目,如果對它還不熟悉的話,這里先簡要介紹一下:HTTPie 是一個(gè)開源的命令行 HTTP 客戶端,它的目標(biāo)是使 CLI 與 Web 服務(wù)的交互盡可能人性化。HTTPie 設(shè)計(jì)用于測試、調(diào)試以及通常與 API 和 HTTP 服務(wù)器交互。http&?https?命令允許創(chuàng)建和發(fā)送任意 HTTP 請求。它們使用簡單自然的語法,并提供格式化和彩色輸出。
HTTPie 項(xiàng)目的作者于 2012 年在 GitHub 上進(jìn)行了第一次提交,至今已走過 10 年時(shí)間。經(jīng)過不斷地迭代和改進(jìn),HTTPie 如今已經(jīng)成為了 GitHub 平臺上最受歡迎的 API 工具之一,并擁有超過 5.4 萬 Star 和 1 千多 Watch。
這個(gè)擁有如此高 Star 數(shù)量的項(xiàng)目,卻因意外導(dǎo)致 5.4 萬個(gè) Star 全部歸零。項(xiàng)目作者 Jakub Roztocil 近日在博客中詳細(xì)介紹了此次事件的來龍去脈,也順便可以給其他項(xiàng)目的作者敲響警鐘。
發(fā)生了什么?
Jakub 首先是承認(rèn)了此次事件是由自己的錯(cuò)誤操作導(dǎo)致的:
由于一連串不幸的事件,我不小心把項(xiàng)目的倉庫設(shè)為了私有,這個(gè)操作讓 GitHub 連帶刪除了我們花了 10 年時(shí)間建立的社區(qū)。
為什么要設(shè)為私有
作者 Jakub 表示:
把倉庫設(shè)為私有就會永久刪除所有 Watch 和 Star,這是 GitHub 的一個(gè)特性。我也知道這一點(diǎn),因此我顯然無意將 HTTPie 設(shè)為私有。
之所以會導(dǎo)致這樣的結(jié)果,最直接的原因是 Jakub 以為自己在一個(gè)不同的倉庫里面(該倉庫沒有內(nèi)容也沒有 Star),這是他在一周前創(chuàng)建的,但之前一直沒有向里面填充內(nèi)容。
Jakub 在當(dāng)時(shí)并沒有意識到倉庫在命名上存在不一致,HTTPie 項(xiàng)目的倉庫為?httpie/httpie,而 Jakub 想要設(shè)置的倉庫為?httpie/.github。
這就是為什么我在沒有意識到我的錯(cuò)誤時(shí),將?httpie/httpie?設(shè)為私有,而不是?httpie/.github
當(dāng) Jakub 做完操作回到組織頁面后,他發(fā)現(xiàn)仍然可以看到空的倉庫,反而是 HTTPie 項(xiàng)目倉庫消失不見時(shí),他才真正意識到發(fā)生了什么。于是 Jakub 立刻回到設(shè)置頁面中想要重新將 HTTPie 設(shè)為公開。但 GitHub 在接下來的半個(gè)小時(shí)內(nèi)都不允許他這樣做,原因是 GitHub 正在 “幫助” 他刪除倉庫的 Star 和 Watch,無法中途停止這個(gè)過程。
GitHub 區(qū)別對待、拒絕恢復(fù)
為了盡可能避免損失,事后 Jakub 第一時(shí)間與 GitHub 取得聯(lián)系,希望 GitHub 能夠幫助他們恢復(fù)原本的數(shù)據(jù)。畢竟 GitHub 團(tuán)隊(duì)自己就曾經(jīng)不小心把 GitHub Desktop 應(yīng)用的倉庫設(shè)置為私有,并在幾個(gè)小時(shí)內(nèi)就為自己恢復(fù)了一切。
當(dāng)初 GitHub 的 CEO 對這一情況做出了解釋:
開發(fā)人員今天早上錯(cuò)誤地將 GitHub Desktop 倉庫設(shè)為私有,重新修改回來并不會恢復(fù)它的 Star 和其他一些東西,因此我們正在從數(shù)據(jù)庫備份中進(jìn)行恢復(fù)。
顯然 GitHub 對此是有相關(guān)備份的,并且能夠通過備份挽回因不小心將倉庫設(shè)為私有而造成的損失。但是在 HTTPie 項(xiàng)目的事件中,GitHub 卻拒絕這樣做,理由是會引發(fā)不良的副作用和浪費(fèi)資源成本。Jakub 甚至向 GitHub 提出經(jīng)濟(jì)補(bǔ)償,也同樣遭到了拒絕。
雖然這件事是由于 Jakub 自己錯(cuò)誤操作導(dǎo)致的,但他在博客中也提出了一些 GitHub 可以改善的地方,也希望其他項(xiàng)目作者能夠避免再犯同樣的錯(cuò)誤。首先,他希望 GitHub 能夠以更加清晰、明確的方式向用戶告知操作的危害性,而不是一句放在任何地方都適用的 “警告:這是一個(gè)潛在的破壞性操作”;其次是改善數(shù)據(jù)庫的設(shè)計(jì),盡可能使用 “軟刪除”,并在一定時(shí)間范圍內(nèi)延遲 “硬刪除”。
目前 HTTPie 已重新公開,截止完稿,該項(xiàng)目已獲得 9 千多的 Star 數(shù)量。
技術(shù)交流群
最近有很多人問,有沒有讀者交流群,想知道怎么加入。
最近我創(chuàng)建了一些群,大家可以加入。交流群都是免費(fèi)的,只需要大家加入之后不要隨便發(fā)廣告,多多交流技術(shù)就好了。
目前創(chuàng)建了多個(gè)交流群,全國交流群、北上廣杭深等各地區(qū)交流群、面試交流群、資源共享群等。
有興趣入群的同學(xué),可長按掃描下方二維碼,一定要備注:全國 Or 城市 Or 面試 Or 資源,根據(jù)格式備注,可更快被通過且邀請進(jìn)群。
▲長按掃描
往期推薦 除阿里、網(wǎng)易和字節(jié)外,杭州居然還有這么多互聯(lián)網(wǎng)公司!五分鐘,手?jǐn)]一個(gè)Spring容器!又偷偷夾帶反戰(zhàn)私貨!npm生態(tài)還能信任嗎?如果你喜歡本文,
請長按二維碼,關(guān)注?Hollis.
轉(zhuǎn)發(fā)至朋友圈,是對我最大的支持。
點(diǎn)個(gè)?在看?
喜歡是一種感覺
在看是一種支持
↘↘↘
新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎!定制產(chǎn)品紅包拿不停!總結(jié)
以上是生活随笔為你收集整理的5.4万Star全部归零,项目作者:十分后悔的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 发年终奖了,送台MacBook Air!
- 下一篇: python中递归函数写法_python