本頁使用了標題或全文手工轉換

GitHub

維基百科,自由的百科全書
跳至導覽 跳至搜尋
GitHub
GitHub logo 2013 padded.svg
公司類型 子公司
網站類型 私人公司Git版本庫代管
語言 英文
成立 2008年2月,​11年前​(2008-02
總部 美國加利福尼亞州舊金山
業務範圍 全球
持有者 微軟
創始人 Tom Preston-Werner
Chris Wanstrath
PJ Hyett
代表人物 Chris Wanstrath英語Chris Wanstrath執行長
PJ Hyett(營運長
產業 軟體
員工 888[1]
網站 官方網站 在維基數據上編輯此內容
Alexa排名
商業性質
註冊 可選(建立和參與專案時需要)
用戶 31 million (2018年10月)
現狀 線上

GitHub是透過Git進行版本控制的軟體原始碼代管服務平台,由GitHub公司(曾稱Logical Awesome)的開發者Chris Wanstrath、PJ Hyett和Tom Preston-Werner使用Ruby on Rails編寫而成。

GitHub同時提供付費帳戶和免費帳戶。這兩種帳戶都可以建立公開或私有的程式碼倉庫,但付費用戶支援更多功能。根據在2009年的Git用戶調查,GitHub是最流行的Git存取站點。[3]除了允許個人和組織建立和存取保管中的程式碼以外,它也提供了一些方便社會化共同軟體開發的功能,即一般人口中的社群功能,包括允許用戶追蹤其他用戶、組織、軟體庫的動態,對軟體程式碼的改動和bug提出評論等。GitHub也提供了圖表功能,用於概觀顯示開發者們怎樣在程式碼庫上工作以及軟體的開發活躍程度。

截止到2015年,GitHub已經有超過兩千八百萬註冊用戶[4]和5700萬程式碼庫。[5]事實上已經成為了世界上最大的程式碼存放網站和開源社群。[6]

2018年6月4日晚上,美國科技公司微軟宣布以75億美元的股票收購GitHub[7][8][9]

提供的服務[編輯]

GitHub[編輯]

GitHub平台於2007年10月1日開始開發。[10][11]網站於2008年2月以beta版本開始上線,4月份正式上線。[12]

GitHub裡面的專案可以透過標準的Git命令進行存取和操作。同時,所有的Git命令都可以用到GitHub專案上面。GitHub開發了針對Microsoft WindowsmacOS作業系統的桌面用戶端。此外,也可以使用第三方外掛程式來實現Git功能。

網站提供了一系列社群網路具有的功能,例如讚(star)、跟随(follow)、評論。用戶可以透過複刻(fork)他人專案的形式參與開發,並可透過共同作業示意圖英語Collaboration graph來檢視有多少開發者參與了開發並追蹤最新的複刻版本。此外網站還有Wiki(透過一個名為 gollum 的軟體實現)等功能。

GitHub同時允許註冊用戶和非註冊用戶在網頁中瀏覽專案,也可以以ZIP格式打包下載。但是用戶必須註冊一個帳號然後才能進行討論、建立並編輯專案、參與他人的專案和程式碼審查

GitHub支援建立不限數量的公開倉庫,已付費用戶可以建立私有倉庫。2019年1月7日,GitHub宣布免費用戶也可以建立私有倉庫,私有倉庫數量不限但每個倉庫最多指定三個合作者[13]

開發語言[編輯]

GitHub系統由GitHub公司的開發者Chris Wanstrath開發。系統採用了Ruby on RailsErlang作為後端。[14]

主要功能[編輯]

GitHub通常用於軟體開發。GitHub還支援以下格式和功能:

  • 文件:包括自動生成的、採用類Markdown語言的Readme檔案。
  • 問題追蹤系統(同時可用於功能需求)
  • Wiki
  • GitHub Pages支援用戶透過軟體倉庫建立靜態網站或靜態部落格(透過一個名為Jekyll的軟體實現)。
  • 任務列表
  • 甘特圖
  • 視覺化的地理位置分析
  • 預覽3D彩現檔案。[15]預覽功能透過WebGLThree.js實現。
  • 預覽Adobe Photoshop的PSD檔案,甚至可以比較同一檔案的不同版本。

倉庫的許可證[編輯]

GitHub的許可條款並不要求公有倉庫滿足自由軟體標準。在建立軟體倉庫時,GitHub會詢問用戶準備採取的軟體許可證,此外用戶也可以使用自己的許可證。

GitHub Enterprise[編輯]

GitHub Enterprise和GitHub的服務類似,不過它為大型企業的開發團隊量身客製化。[16]

Gist[編輯]

GitHub提供一個貼上箱英語Pastebin(Pastebin)風格的站點GitHub Gist。

Tom Preston-Werner於2008年開發了Gist功能。[17]Gist繼承了貼上箱英語Pastebin的觀念,此外還添加了版本控制、復刻、SSL加密等功能。因為程式碼片段也是Git倉庫,所以單個程式碼片段可以容納多個檔案,並且可以透過Git進行操作。因此Gist更像一個小型專案。

2014年11月2日,Gist在中國大陸被防火長城封鎖,無法正常存取。[18]

Student Developer Pack[編輯]

GitHub與Algolia、BitnamiCrowdflower英語CrowdFlowerDigitalOceanDNSimple英語DNSimple、GitKraken、Heroku、HackHands、JetBrains、Namecheap英語Namecheap、Orchestrate、Screenhero、SendGrid英語SendGridStripeTravis CI虛幻引擎等共同合作,於2014年10月7日發起了一個名為GitHub學生開發者套裝的專案。該專案為學生提供了一些免費的開發工具和服務。[19]

採用的專案[編輯]

許多程式庫、開發架構都採用GitHub作為為主版本控制平台,其中包括:

統計[編輯]

GitHub於2008年2月執行。[38]

在2009年2月24日透過雅虎進行的一次採訪中,GitHub隊伍成員們宣布在GitHub執行的第一年,有共計46,000個公共版本庫,它們中有17,000個是於最近一個月內建立的。當時,大概有6,200個版本庫被衍生(fork)至少一次,有4,600被合併。在另一個在2009年6月27日透過雅虎的採訪中,Tom Preston-Werner宣布版本庫數量已經提升到了90,000唯一性公共版本庫,有12,000個版本庫被衍生(fork)至少一次,總共有135,000個版本庫。[39]

在2010年6月,GitHub宣布它現在已經可提供1百萬專案,它們中的60%是完整的版本庫,但仍然有40%是「gist」或程式碼片段。2011年4月,GitHub宣稱存放的程式碼庫數量已達到2百萬個。[40]2013年4月,GitHub用戶數達到350萬,程式碼庫數量達到6百萬個。[41]

審查與封鎖[編輯]

GitHub曾在中國、俄羅斯和印度等國被審查和封鎖,雖然此網站是單純的技術社群,一般不具政治敏感訊息的特徵,但相關程式碼可用於開發翻牆VPN與反偵測等一系列線上隱蔽軟體或者中介軟體,同時也有部分用於非程式碼的政治訴求或相關內容,而被許多法律設定嚴苛的政府盯上。2019年起,美國的出口管理條例開始對開原始碼進行管制。

  • 2013年1月20日,中國大陸政府的防火長城利用域名污染和關鍵詞過濾等手段封鎖GitHub。[42][43]23日,GitHub被解封,事件平息。
  • 2013年1月26日,有中國大陸的用戶在存取GitHub時發現憑證無效,經檢查發現,GitHub的憑證變為了一自簽署的X.509憑證,生成時間為2013年1月25日14時29分12秒,有效期一年,故有人推測GitHub疑似遭到了中間人攻擊。攻擊持續了約一個小時後停止,存取恢復正常。[44][45]
  • 2014年12月3日,GitHub因用戶發布自殺教學內容而被俄羅斯封鎖。[46]
  • 2014年12月31日,GitHub等32個網站因用戶發布的伊斯蘭國相關內容而被印度封鎖。[47]2015年1月10日,GitHub被解封,但2015年9月12日GitHub在整個印度又被封鎖。
  • 2015年3月26日,GitHub遭受了GitHub歷史上最嚴重的阻斷服務攻擊[48]GitHub堅信攻擊者的目的在於迫使GitHub刪除特定類型的內容。[48]截止29日,攻擊者共使用了四種DDoS攻擊技術。[49]攻擊於31日停止。外界普遍相信這是中國政府所為,但中國政府予以否認。[50][51]該攻擊工具也被稱為「大炮」。
  • 2015年8月,中國政府進一步收緊對網際網路的控制。22日,翻牆軟體Shadowsocks作者迫於警方壓力刪除項目。25日,翻牆軟體GoAgent作者自行刪除自己的程式碼。同一天GitHub再次遭到來自中國大陸的DDoS攻擊。[52][53]部分開發者認為此次攻擊與中國政府有關。[54]
  • 2019年5月,GitHub更新了用戶協定,表明GitHub的產品和服務適用於美國出口管制法律[55]
  • 2019年7月起,GitHub基於美國出口管理條例,開始對伊朗、敘利亞和克里米亞的私人repo和付費帳戶實施限制[56][57][58]

趣聞[編輯]

因GitHub開源社群性別嚴重失衡,男性群體高達95%以上[59],故GitHub常被網友們戲稱為「GayHub」、「全球最大同性交友網站」[60]

參考資料[編輯]

  1. ^ GitHub Diversity. GitHub. 
  2. ^ github.com Site Overview. Alexa Internet, Inc. [2016-08-19] (英語). 
  3. ^ Git User's Survey 2009. Survs.com. [2018-06-04]. 
  4. ^ User search. GitHub. [June 5, 2018] (英語). Showing 28,337,706 available users 
  5. ^ Celebrating nine years of GitHub with an anniversary sale. github.com. Github. [April 11, 2017]. 
  6. ^ Georgios Gousios; Bogdan Vasilescu; Alexander Serebrenik; Andy Zaidman. Lean GHTorrent: GitHub Data on Demand (PDF). The Netherlands: Delft University of Technology & †Eindhoven University of Technology: 1. [9 July 2014]. (原始內容 (PDF)存檔於2014年7月14日). During recent years, GITHUB (2008) has become the largest code host in the world. 
  7. ^ Dave Lee. Microsoft buys Github code-sharing site for $7.5bn. BBC News. 2018-06-04 [2018-06-06]. (原始內容存檔於2018-06-06) (英語). 
  8. ^ defunkt. A bright future for GitHub. The GitHub Blog. 2018-06-04 [2018-06-06]. (原始內容存檔於2018-06-06) (英語). 
  9. ^ Satya Nadella. Microsoft + GitHub = Empowering Developers. The Official Microsoft Blog. 2018-06-04 [2018-06-06]. (原始內容存檔於2018-06-06) (英語). 
  10. ^ Weis, Kristina. GitHub CEO and Co-Founder Chris Wanstrath Keynoting Esri’s DevSummit!. 2014-02-10. in 2007 they began working on GitHub as a side project 
  11. ^ Preston-Werner, Tom. GitHub Turns One!. GitHub. 19 October 2008 [2014-03-28]. 
  12. ^ Catone, Josh. GitHub Gist is Pastie on Steroids. 24 July 2008. 
  13. ^ Unlimited free private repositories with GitHub Free and a unified business offering with GitHub Enterprise. GitHub. 2019-01-07 [2019-01-08]. 
  14. ^ Interview with Chris Wanstrath. Doeswhat.com. 2012-03-06 [2013-02-26]. 
  15. ^ Weinhoffer, Eric. GitHub Now Supports STL File Viewing. 2013-04-09. 
  16. ^ Introducing GitHub Enterprise. GitHub. [13 July 2014]. 
  17. ^ Preston-Werner, Tom. God's memory leak - a scientific treatment. RubyFringe. 2008-07-20 [2014-10-21]. He previewed the upcoming git feature gist 
  18. ^ 翻牆 | iaskfq:小組長的2014. 中國數字時代. 
  19. ^ By Frederic Lardinois, TechCrunch. "GitHub Partners With Digital Ocean, Unreal Engine, Others To Give Students Free Access To Developer Tools." 7 October 2014. 7 October 2014.
  20. ^ Working With Git. Avogadro. (原始內容存檔於2010-09-09). 
  21. ^ cryos's avogadro at master. GitHub. 
  22. ^ Wanstrath, Chris. jQuery!. GitHub blog. 29 October 2009. 
  23. ^ Mint to use Launchpad for translations, bugs, blueprints and github for code hosting and version control. The Linux Mint Blog. 22 July 2009. 
  24. ^ Smart, Chris. Miscellaneous News. DistroWatch Weekly. 27 July 2009, (313). 
  25. ^ GitFAQ - Mono. Mono-project.com. [2018-06-04]. 
  26. ^ Mono Project. Mono Project. GitHub. [2018-06-04]. 
  27. ^ FrictionalGames' PenumbraOverture at master. GitHub. 
  28. ^ Penumbra: Overture goes Open Source!. Frictional Games. 
  29. ^ Chacon, Scott. Perl Mirror on GitHub. GitHub blog. 23 December 2008. 
  30. ^ Wall, Larry. Perl's first commit. GitHub. 18 December 1987. [永久失效連結]
  31. ^ phpBB moves source code versioning from Subversion to Git. phpBB. 
  32. ^ Tomas's prey at master. GitHub. 
  33. ^ Git Version Control. Rails Wiki. [永久失效連結]
  34. ^ rails's rails at master. GitHub. 
  35. ^ Sinatra. 
  36. ^ sproutcore. GitHub. 
  37. ^ collaborativetrust's WikiTrust at master. GitHub. 
  38. ^ Wanstrath, Chris. Hotkeys and Wikis. GitHub. 18 February 2008. 
  39. ^ Dascalescu, Dan. The PITA Threshold: GitHub vs. CPAN. Dan Dascalescu's Wiki. 3 November 2009. 
  40. ^ Those are some big numbers. GitHub blog. 20 April 2011. 
  41. ^ GitHub celebrates fifth birthday, 3.5 million users and six million repositories. ZDNet. 11 April 2013. 
  42. ^ 程序員叫苦 李開復質疑. 南方都市報. 2013-01-23 [2013-01-23]. (原始內容存檔於2013-01-26). 
  43. ^ Programmers angry over blocking of GitHub code-sharing site. 南華早報. 2013-01-24 [2013-01-24]. 
  44. ^ 中國國家防火牆對GitHub進行了中間人攻擊. solidot. 2013-01-26 [2013-01-26]. (原始內容存檔於2013-01-28). 
  45. ^ 中國, GitHub和中間人攻擊. greatfire. 2013-01-30 [2013-01-30]. 
  46. ^ Russia Blacklists, Blocks GitHub Over Pages That Refer To Suicide. 
  47. ^ GitHub, Vimeo and 30 more sites blocked in India over content from ISIS. thenextweb.com. The Next Web. 2014-12-31. 
  48. ^ 48.0 48.1 Large Scale DDoS Attack on github.com. GitHub's blog. March 27, 2015 [2015-03-31] (英語). 
  49. ^ 對GitHub的大規模DDoS攻擊已超過80個小時. 奇客Solidot. 2015-03-30 [2015-03-30] (中文(中國大陸)‎). 
  50. ^ 陳曉莉. GitHub遭遇史上最大規模DDoS攻擊,反中國網路防火牆專案被鎖定. 台灣iThome. 2015-03-30 [2015-03-30] (中文(台灣)‎). 
  51. ^ 海寧. 中共借刀殺人 利用海外華人發起DDoS攻擊. 大紀元新聞網. 2015-03-27 [2015-03-30] (中文(簡體)‎). 
  52. ^ Andrew Blake. China tightens noose on Internet as anti-censorship tools suddenly shutter. The Washington Times. 2015-08-26. (英文)
  53. ^ GoAgent開發者刪除項目,GitHub再次受到DDoS攻擊. Solidot. 2015-08-25. (簡體中文)
  54. ^ Catalin Cimpanu. Recent GitHub DDOS Linked to Chinese Government and Two GitHub Projects. Softpedia. 2015-08-29. (英文)
  55. ^ 憲瑞. Github更新用戶協議 開源代碼也要受美國出口管制. 快科技. 2019-05-21 [2019-05-21] (中文(中國大陸)‎). 
  56. ^ GitHubDaily. 美國對外實行制裁,致多個地區 GitHub 賬號使用受限!. GitHubDaily. 2019-07-26 [2019-08-01] (中文(中國大陸)‎). 
  57. ^ GitHubDaily. GitHub CEO 正式回應賬號訪問受限事件!. GitHubDaily. 2019-07-29 [2019-08-01] (中文(中國大陸)‎). 
  58. ^ 黃善清. 令人心寒的不是 Github 突然斷供,而是 CEO 對此表示無能為力. 雷鋒網. 2019-07-29 [2019-08-01] (中文(中國大陸)‎). 
  59. ^ 陳曉莉. GitHub開源社群大調查:多數只會寫程式不會寫文件、性別嚴重失衡. iThome. 2017-06-05 [2018-06-14] (中文(台灣)‎). 
  60. ^ 火柴Q. 互聯網巨頭終極戰場:得開發者得天下. iThome. 2017-06-13 [2018-06-14] (中文(中國大陸)‎). 

參考文獻[編輯]

外部連結[編輯]

參見[編輯]