是什么讓GitHub如此成功?GitHub有什么魔力?
1. 只用Git。
GitHub只支持Git格式的版本庫托管,而不像其他開源項目托管平臺還對CVS、SVN、Hg等格式的版本庫進行托管。GitHub的哲學很簡單,既然Git是最好的版本控制系統之一(對于很多喜歡Git和GitHub的人沒有之一),沒有必要為兼顧其他版本控制系統而犧牲Git某些獨有特性。因此沒有支持其他版本控制系統的歷史負擔,是GitHub成功的要素之一。
只用Git并不是說GitHub完全無視其他版本控制系統的使用者,相反,GitHub面向SVN(Subversion)用戶和Hg(Mercurial)用戶開發了接口,讓這些用戶可以使用SVN或Hg的客戶端工具訪問Git版本庫。
2. 對Git的完整支持。
相比其他開源項目托管平臺,GitHub對Git版本庫提供了完整的協議支持,支持HTTP智能協議、Git-daemon、SSH協議。相比只支持HTTP協議的GoogleCode,GitHub通過SSH協議可以實現版本庫訪問的無口令認證(實際上使用HTTP協議也可以免口令輸入。即通過文件`~/.netrc`寫入HTTP認證的明文口令。具體文件格式參見ftp命令MAN手冊中相關介紹)。
3. 無處不在的Git。
除了在版本庫托管上使用Git,Git還被GitHub應用到更多領域。維基使用Git,可以通過克隆維基所在的版本庫,離線修改維基;在線粘貼數據的Gist網站[[2]](https://gist.github.com/)使用Git,記錄變更歷史;以及在Jekyll應用的幫助下,用Git版本庫維護個人網站和博客等。
4. 在線編輯文件。
GitHub提供了在線編輯文件的功能,不熟悉Git的用戶也可以直接通過瀏覽器修改版本庫里的文件。
5. 社交編程。
將社交網絡引入項目托管平臺是GitHub的創舉。用戶可以關注項目、關注其他用戶進而了解項目和開發者動態。項目的派生(Fork)和拉拽請求(Pull Request)構成GitHub最獨具一格的工作模式。對提交代碼的逐行評注及Pull Request構成了GitHub特色的代碼審核。
6. 商業上的成功。
GitHub通過私有版本庫托管、面向企業的版本庫托管和項目管理平臺、人員招聘等付費服務獲得了商業上的成功,這種成功使得GitHub不必以頁面中嵌入廣告的方式維持運營,最大的受益者還是用戶。
7. 關注細節。
GitHub網站采用了Ruby on Rails架構,在Web設計中運用了大量的JavaScript、AJAX、HTML5等技術,支持對使用Markdown等標記語言的內容進行渲染和顯示等。關注細節使得GitHub成為了項目托管領域的后起之秀。
- 前言
- 1. 探索GitHub
- 1.1. 什么是GitHub
- 1.2. GitHub亮點
- 1.3. 探索GitHub
- 2. 加入GitHub
- 2.1. 創建GitHub賬號
- 2.2. 瀏覽托管項目
- 2.3. 社交網絡
- 3. 項目托管
- 3.1. 創建新項目
- 3.2. 操作版本庫
- 3.3. 公鑰認證管理
- 3.4. 版本庫鉤子擴展
- 3.5. 建立主頁
- 4. 工作協同
- 4.1. Fork + Pull模式
- 4.2. 共享版本庫
- 4.3. 組織和團隊
- 4.4. 代碼評注
- 4.5. 缺陷跟蹤
- 4.6. 維基
- 5. 付費服務
- 5.1. GitHub收費方案
- 5.2. GitHub企業版
- 6. GitHub副產品
- 6.1. GitHub:Gist
- 6.2. 其他版本控制工具支持
- 6.3. 客戶端工具
- 6.4. 其他
- 7. 附錄:輕量級標記語言
- 貢獻者列表