2008年4月10日(ri),GitHub正式上線。
2014年1月(yue)23日,聯(lian)合(he)創(chuang)始人(ren)湯姆·普(pu)雷(lei)斯頓-維爾(er)(er)納(Tom Preston-Werner)從另一位聯(lian)合(he)創(chuang)始人(ren)克里斯·萬(wan)斯特(te)拉(la)斯(Chris Wanstrath)手中(zhong)接過(guo)總裁(cai)職位,后者也將(jiang)接過(guo)普(pu)雷(lei)斯頓-維爾(er)(er)納留下的(de)CEO位置。
2018年6月(yue)4日晚,微軟宣布,通過75億(yi)美元(yuan)的股(gu)票交(jiao)易收購GitHub。10月(yue)26日,微軟以75億(yi)美元(yuan)收購GitHub交(jiao)易已(yi)完(wan)成。10月(yue)29日,微軟開(kai)發者(zhe)服務副(fu)總裁奈特·弗里(li)德(de)曼(Nat Friedman)將(jiang)成為GitHub的新(xin)一任CEO。
2020年3月17日,Github宣布收購npm,GitHub現在已經保(bao)證(zheng)npm將(jiang)永遠(yuan)免費使用。
2021年11月4日消(xiao)息,微軟宣(xuan)布GitHub CEO奈特·弗里德曼將于11月15日卸任,其職位由GitHub產品主(zhu)管(guan)托馬斯·多梅克接替。
GitHub于2008年4月(yue)10日正式上線(xian),除了Git代(dai)碼倉庫托管(guan)及(ji)基本的Web管(guan)理(li)界面以(yi)外,還(huan)提供了訂(ding)閱(yue)、討論組(zu)、文本渲染、在線(xian)文件(jian)編輯器(qi)、協(xie)作圖譜(pu)(報(bao)表)、代(dai)碼片段分享(xiang)(Gist)等功能。目(mu)前,其注冊用戶已經超過350萬,托管(guan)版本數(shu)量(liang)也是非常之(zhi)多,其中不乏知(zhi)名開源項目(mu)Ruby on Rails、jQuery、python等。
2018年6月4日,微(wei)軟宣(xuan)布,通過75億美元的股票交易(yi)收購(gou)代碼托管(guan)平臺GitHub。
作(zuo)為(wei)開(kai)源代(dai)碼庫(ku)以及版本控制系統,Github擁有超(chao)過900萬開(kai)發者用戶。隨著越(yue)來(lai)越(yue)多的(de)應(ying)用程序轉移到了云(yun)上,Github已(yi)經成(cheng)為(wei)了管(guan)理軟件開(kai)發以及發現(xian)已(yi)有代(dai)碼的(de)首選方法(fa)。
如前所(suo)述,作為一(yi)個分布(bu)式的(de)(de)版本控制系統,在(zai)Git中并不存在(zai)主庫(ku)(ku)這樣的(de)(de)概念(nian),每一(yi)份(fen)復制出的(de)(de)庫(ku)(ku)都(dou)可(ke)以(yi)獨立使用,任何兩個庫(ku)(ku)之間的(de)(de)不一(yi)致之處都(dou)可(ke)以(yi)進行合并。
GitHub可以托管各種git庫,并提供一個(ge)web界面(mian),但(dan)它(ta)與外國的(de)(de)(de)SourceForge、Google Code或中國的(de)(de)(de)coding的(de)(de)(de)服務不同,GitHub的(de)(de)(de)獨特賣點在于(yu)從另外一個(ge)項(xiang)目(mu)進行分支(zhi)的(de)(de)(de)簡易(yi)性。為(wei)(wei)一個(ge)項(xiang)目(mu)貢(gong)獻代(dai)碼(ma)(ma)非常簡單:首先(xian)點擊項(xiang)目(mu)站點的(de)(de)(de)“fork”的(de)(de)(de)按鈕(niu),然(ran)后將代(dai)碼(ma)(ma)檢(jian)出并將修改加入到(dao)剛才(cai)分出的(de)(de)(de)代(dai)碼(ma)(ma)庫中,最后通過內建的(de)(de)(de)“pull request”機制向(xiang)項(xiang)目(mu)負責(ze)人申請代(dai)碼(ma)(ma)合(he)并。已經有人將GitHub稱為(wei)(wei)代(dai)碼(ma)(ma)玩家的(de)(de)(de)MySpace。
在(zai)GitHub進(jin)(jin)行分支就像在(zai)Myspace(或(huo)Facebook)進(jin)(jin)行交友一樣,在(zai)社會關系圖的(de)節點中不斷的(de)連線。
GitHub項(xiang)目(mu)本身自然(ran)而然(ran)的(de)也在(zai)GitHub上(shang)進行(xing)托管,只不過在(zai)一個私有(you)的(de),公共(gong)視圖不可(ke)見的(de)庫中。開(kai)(kai)源項(xiang)目(mu)可(ke)以免費(fei)(fei)托管,但私有(you)庫則并(bing)不如此。Chris Wanstrath,GitHub的(de)開(kai)(kai)發者之一,肯定了通過付(fu)費(fei)(fei)的(de)私有(you)庫來在(zai)財務上(shang)支持免費(fei)(fei)庫的(de)托管這一計劃。
通過與客(ke)戶(hu)的(de)接洽,開發(fa)FamSpam,甚至是開發(fa)GitHub本身,GitHub的(de)私有庫(ku)已(yi)經被(bei)證明了(le)物有所值。任何希(xi)望節(jie)省時間并希(xi)望和(he)團(tuan)隊(dui)其它(ta)成員一樣遠離(li)頁面頻繁轉換之苦的(de)人士(shi)都(dou)會從GitHub中獲(huo)得(de)他們真正想要的(de)價值。
在GitHub,用戶(hu)可以(yi)十(shi)分(fen)輕易地找(zhao)到(dao)海量的開(kai)源代碼(ma)。
2012年12月24日,GitLab 4.0 RC2 發布開源的Github克隆。
Chris Wanstrath還向記者分享了關于(yu)GitHub的一些內(nei)幕(mu)信息(xi)︰
GitHub主要用Rails實(shi)現。我們(men)在進(jin)行的(de)(de)post-commit集(ji)成小應用完全使用Merb編寫。我們(men)使用了Python的(de)(de)Pygments來(lai)做(zuo)(zuo)格式高亮顯示(shi),另外,還用了Ara T.Howard's Bj加上一些Ruby腳本來(lai)做(zuo)(zuo)我們(men)的(de)(de)排隊系統(tong)。當然,我們(men)用了Ruby Grit庫來(lai)和Git進(jin)行交互。
GitHub已(yi)經(jing)有了(le)一(yi)組引(yin)人(ren)注目(mu)的特性,除了(le)命令式(shi)的庫瀏覽器和一(yi)個(ge)(ge)項(xiang)目(mu)Wiki,GitHub甚(shen)至還包括(kuo)了(le)一(yi)個(ge)(ge)GitHub gem,以使(shi)(shi)通過(guo)shell方(fang)式(shi)使(shi)(shi)用GitHub更為方(fang)便。更多的未(wei)來特性已(yi)經(jing)在計劃(hua)中(zhong)︰
許多(duo)人(ren)都希(xi)望能(neng)有(you)一個(ge)條目(mu)系(xi)統(tong),因此一個(ge)簡單的(de)條目(mu)系(xi)統(tong)已經在開發中。此外,正如我(wo)前(qian)面所言,我(wo)們(men)尚在進行RubyGems服務器和(he)一些之前(qian)留出的(de)post-commit鉤(gou)子方(fang)面的(de)工作。如果你(ni)(ni)不(bu)能(neng)或就是不(bu)想托管一個(ge)你(ni)(ni)自己(ji)的(de)守護(hu)進程,你(ni)(ni)可(ke)以(yi)使(shi)用我(wo)們(men)所提供的(de)。
我們還在開發一些特(te)性來(lai)幫(bang)助(zhu)公(gong)司(si)在使用Github時可以停留在sync之(zhi)上。
最(zui)后(hou),我們也在進行API發(fa)布(bu)方面的(de)工作。我們很快就會(hui)發(fa)布(bu)一(yi)(yi)些只讀性的(de)API,隨后(hou)是一(yi)(yi)些很強大的(de)“寫”集成。你可以使(shi)用API將新(xin)的(de)事(shi)件(jian)發(fa)布(bu)到新(xin)聞(wen)feed中,發(fa)消息和做其(qi)他許多很酷的(de)事(shi)情(qing)。
GitHub尚未(wei)設定官方版(ban)本(ben)的發(fa)布(bu)日期,不過估計在三月底(GitHub已經(jing)上線,但只能(neng)通過邀請注冊)。更多關于GitHub的信息(xi)可以(yi)參見GitHub官方網站(zhan)或(huo)GitHub博客。通過GitHub進行代碼管(guan)理的開(kai)源項(xiang)目列表也已經(jing)可以(yi)查閱(yue)。
GitHub使用git分布式版(ban)本控(kong)制系統(tong),而git最初是LinusTorvalds為(wei)幫助(zhu)Linux開發而創(chuang)造的(de)(de),它(ta)針對的(de)(de)是Linux平臺,因此git和Windows從來不(bu)是最好的(de)(de)朋友(you),因為(wei)它(ta)一點(dian)也不(bu)像(xiang)Windows。GitHub發布了GitHub for Windows,為(wei)Windows平臺開發者提供了一個易于使用的(de)(de)Git圖(tu)形(xing)客戶端(duan)。
GitHub for Windows是一(yi)(yi)個(ge)Metro風格應用程(cheng)(cheng)序,集(ji)成了(le)自包含(han)版(ban)本(ben)(ben)(ben)的Git,bash命令行shell,PowerShell的posh-git擴展。GitHub為Windows用戶提供了(le)一(yi)(yi)個(ge)基本(ben)(ben)(ben)的圖形前端去處理大部分常(chang)用版(ban)本(ben)(ben)(ben)控(kong)制(zhi)任(ren)務(wu),可以創建版(ban)本(ben)(ben)(ben)庫,向(xiang)(xiang)本(ben)(ben)(ben)地版(ban)本(ben)(ben)(ben)庫遞交補丁,在本(ben)(ben)(ben)地和遠程(cheng)(cheng)版(ban)本(ben)(ben)(ben)庫之間同(tong)步。微軟(ruan)也通過CodePlex向(xiang)(xiang)開(kai)發者提供git版(ban)本(ben)(ben)(ben)控(kong)制(zhi)系統,而(er)GitHub創造了(le)一(yi)(yi)個(ge)更具有吸引(yin)力的Windows版(ban)本(ben)(ben)(ben)。
GitHub上已自(zi)動配置的Mac筆記本(ben)電(dian)腦,一個工(gong)具,可以轉換設(she)置Linux或Windows機器。
BOXEN是(shi)GitHub的(de)(de)自動化(hua)工(gong)(gong)具,設置(zhi)和配置(zhi)的(de)(de)Mac筆(bi)記本電(dian)腦軟件開(kai)發(fa)或其他(ta)類型(xing)的(de)(de)工(gong)(gong)作,正在(zai)使用他(ta)們(men)的(de)(de)開(kai)發(fa)人(ren)(ren)員,律(lv)師,設計師,付貨人(ren)(ren),等。我們(men)的(de)(de)想法(fa)是(shi)準備系統以自動方式和作為無差錯盡(jin)可能用最少(shao)的(de)(de)干(gan)預工(gong)(gong)作。根據GitHub上(shang),與一個新的(de)(de)開(kai)發(fa)機器上(shang),他(ta)的(de)(de)Mac系統成立,并準備在(zai)30分鐘(zhong)內提交代碼(ma)。
BOXEN的(de)(de)基礎上收集了大量(liang)的(de)(de)幾十個木偶模塊,使設(she)置(zhi)的(de)(de)各種軟件(jian),如卡桑德拉,Mongo DB中(zhong),Java軟件(jian)中(zhong),Python和Ruby開發(fa)中(zhong),節(jie)點(dian),JS,nginx的(de)(de),Skype公(gong)司,甚至MINECRAFT。雖然機器上配(pei)備(bei)了一個預配(pei)置(zhi),每(mei)個用(yong)(yong)戶都可以調整它(ta)的(de)(de)配(pei)置(zhi)應有的(de)(de)作(zuo)用(yong)(yong)。
全(quan)球(qiu)最大的(de)(de)(de)社交(jiao)編程及(ji)代碼托(tuo)管網站GitHub以其開創性的(de)(de)(de)新型軟件開發方式(shi)并且能高效利(li)(li)用有限的(de)(de)(de)資(zi)源通過自力更(geng)生實現公司盈利(li)(li)和(he)300%的(de)(de)(de)年收(shou)入(ru)增長成功(gong)的(de)(de)(de)吸引知名風投(tou)機(ji)構Andreessen Horowitz一(yi)億美(mei)金(jin)的(de)(de)(de)投(tou)資(zi)。新的(de)(de)(de)資(zi)金(jin)注(zhu)入(ru)將幫(bang)助GitHub平臺得到進(jin)一(yi)步(bu)的(de)(de)(de)改(gai)進(jin)和(he)擴(kuo)展。
事實上,這不僅對首(shou)次(ci)接受外部投(tou)(tou)資的(de)(de)GitHub意(yi)義重(zhong)大,同(tong)樣對于(yu)投(tou)(tou)資方Andreessen Horowitz而(er)言(yan),這也(ye)是其迄今為止進行過的(de)(de)最大一次(ci)單(dan)筆投(tou)(tou)資案(an)。作為投(tou)(tou)資案(an)的(de)(de)一部分,Andreessen Horowitz的(de)(de)合伙人(ren)Peter Levine將入主GitHub董事會。
根據GitHub官方解釋,這筆資金(jin)除了用于擴充(chong)員工隊(dui)伍(wu),改進(jin)現有(you)服務并移植到移動(dong)平臺之(zhi)外,還將服務對象從(cong)原來(lai)的(de)編程愛好者和專業軟件開發人(ren)員拓展至企業、設計師、文字(zi)工作者等(deng)更廣泛(fan)的(de)客(ke)戶群體。
GitHub有170萬名軟(ruan)件開發人員的忠實用戶,他們平均每天更新8萬個并新建(jian)7千個軟(ruan)件庫(ku)。對GitHub網站上托管的總計(ji)超過300萬個軟(ruan)件庫(ku),其聯合創始(shi)人Chris Wanstrath曾經形象地稱其為“程序員的維(wei)基(ji)百科全(quan)書”。
2013年1月(yue)15日(ri)晚間(jian),GitHub突(tu)然(ran)疑似遭遇(yu)DDOS攻擊,訪問(wen)大幅放緩,該網站管理(li)員經過日(ri)志查(cha)詢,發現是來自(zi)12306的搶(qiang)票插件用戶(hu)洪(hong)水般的訪問(wen)導致(zhi)GitHub出(chu)現問(wen)題。
2019年5月,《個人電腦雜(za)志(zhi)》網站報道,GitHub正遭到一名黑客(ke)的(de)(de)入(ru)侵(qin)。據稱,這名黑客(ke)先(xian)擦除代(dai)碼資源(yuan)庫,然后向用戶索要贖金(jin),作為恢復數據的(de)(de)交換。