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