git 是一個劃時代的 programmer 工具之一,它像極了自 rcs -> cvs -> svn 的後繼者,但同時也是這一系列發展的終結者。正確來說,它一出現就把自 rcs 以降的這一套 revision control system 給罵臭了,計畫主持人 Linus Torvalds 甚至說,git 更根本不是 revision control 用的工具,它只是一個具有追綜開發記錄的工具集而已。
github 就更有趣了。
我們來想想,在號被稱作下一個希特勒的 Mark Zuckerberg,他所創造出來的 Facebook 裏頭,你可以幹麻:
- 發個言、做個分享、貼個網址、…等,表達你的個人觀點,抒發你的個人情緒、發表你對某個時事的看法、說說你家的小貓最近怎麼了…諸如此類的。
- 很認真地寫個 note, 就像寫篇小文章,或是一篇稍稍長一點的 blog,做某種文字上的創作與發表,期待讓一些人(或是很多人,或要求非常多人也行)看到,給些回應。
- 看到別人的發文,感覺很棒,回個「讚」, 了表一下心意。
- 看到別人的分享,再接再勵,跟著分享一下,把你看到的好東西介紹到你的交際圈裏頭。
- …
再去看看 github 可以幹麻,就會驚訝地發覺,它其實是給 programmer 之間用的 Facebook,說得更精確一點,github 讓一群喜愛 programming 的特殊族群,以使用 Facebook 的方式:
- 分享他們之間的程式碼(創作)
- 互相引用彼此之間的 repo(互推、讚…)
- 在別人的程式碼上頭給與意見(回應)…
- …
重點是,就像 Facebook 一樣看穿了云云眾生的需求,github 也整個看透了 programmer 需要什麼,專為他們設計,而且很快就有新功能出來。 拿下圖來說,網站上的 keyboard shortcuts,這種玩意兒,除了 programmer,還會有誰愛?