[心得] 軟體考古系列:Git

作者: eliang   2024-07-01 22:00:42
Linus Torvalds 曾寫了一本書提到,當初創造 Linux 只是因為好玩,卻意外掀起一場
革命。Git 是 Linus 的第二代表作,同樣也是意外的革命,是現在軟體工程師的標配,
但至少對 Linus 本人來說,它的起源可就沒這麼好玩了。
圖文完整版:https://blog.brachiosoft.com/posts/git/
臉書專頁:https://www.facebook.com/brachiosoft
# Linus 擴展不了
1998 年是 Linux 風光的一年,許多大公司,如昇陽、IBM 和甲骨文,都紛紛投入 Linux
的業務。那年春天,Linus 的二女兒出生,他們一家從芬蘭搬到美國加州也差不多一年
,生活步入正軌。雖然 Linux 還尚未給 Linus 帶來什麼收益,但 Linus 也可算是事業
家庭兩得意。
反觀 Linux Kernel 的開發者社群,隨著愈來愈多人加入開發,既有的合作方式開始力
不從心。Linus 開始顯得沒辦法跟上開發者們修改程式碼的速度,逐漸成為瓶頸。
1998 年 9 月 28 日,Linus 和往常一樣,讀著 Linux Kernel 郵件列表上的信。
> 請不要浪費時間送修補了,這些在 vger 上早就修好了。
Linus 看到這句話不太高興。一直以來,Linux 程式碼的修改重度仰賴 Linus 本人,
Linus 本人就是版本控管。如果你要修改程式碼,寄封信到郵件列表上,Linus 看到了
並認可,就會將你的修補送進他自己的版本,然後不時在 FTP 上釋出新版本。Linus 喜
歡這樣的合作方式,因為他可以掌控一切變更,大家也信任 Linus,覺得 Linux 本來就
該由 Linus 掌控。
但自從 David Miller,一位 Linux Kernel 的資深開發者,架設了一個名為 vger 的
CVS 伺服器,有些人就以為可以繞過 Linus 本人,將變更送到 vger 就沒事了。這不是
Linus 第一次遇到同樣的問題,他在郵件列表上不悅的回應:
> 「在 vger 上就不要浪費時間」這個說法完全是愚蠢的,因為 vger 上很多東西可能
> 永遠都不會進 2.2。
於是幾個開發者與 Linus 展開一場激烈的筆戰,他們開始陳情,說 Linus 回信太慢,
甚至有時候要寄三次才會得到這個「仁慈獨裁者」的親回。
「這些傢伙也不照照鏡子,」Linus 心想:「我一天要看多少信,如果連寄三次信都嫌
麻煩,那這個修補我寧可不要。」 Linus 在討論串留下這個訊息隨即怒離:
> 這次的討論只是讓我煩燥,增加我的壓力。走開吧,不要再 CC 我了,我要度假去了
> ,我不要再聽到任何有關它的事。總之,滾出我的信箱就對了。
Linus 情緒性的發言反而讓一些人開始提出正面的幫助。
開源運動代表人物之一 Eric S. Raymond,著名文章《大教堂和市集》就是他寫的。看
到 Linus 的怒離文,他冷靜地呼籲:
> 各位,這些是職業倦怠的早期徵兆。Linus 一直以來的毅心確實令人敬佩,但他也是
> 有極限的。我們所有人(是的,也包括你 Linus)要一起想辦法幫這個重要人物減少
> 壓力,而不是增加壓力。
另一位伸出援手的是 Larry McVoy,在一篇標題為「成長痛的解決方案」的郵件,他這
麼寫:
> 問題癥結在於 Linus 擴展不了("Linus doesn’t scale")。我們不能期待 Linus 一
> 個人能跟上 Kernel 變化的速度,我們也不想看到 Linus 失去對 Kernel 的掌控,他
> 已一再證明自己非常適任此職。
>
> (解決方案基本上是)將工作分擔給 Linus 身邊的幾個人,要做到分擔,我們要導入
> 新工具。
> (這個新工具是)一個分散式版本控管系統...
Larry 當時正好在開發一套新的版控軟體,叫做 BitKeeper。
# BitKeeper 的起源
在 1990 年代早期,昇陽導入了一套名為 Network Software Environment (NSE) 的內
部工具來管理程式碼,但 NSE 太慢了,使用體驗極差,有些工程師甚至為此憤而離職。
Larry McVoy 不僅是個資深的作業系統開發者,過去也做過許多效能相關的工作,所以
昇陽的主管就找上了 Larry 來調教一下 NSE 的效能。
Larry 一看 NSE 的程式碼嚇了一跳,「這東西很多地方當初設計時都沒有考量到效能。
」他還發現 NSE 的底層其實是 SCCS,SCCS 是 1970 年代的版本控管軟體,出現比 CVS
和 Subversion 還早。與其修改體質不良 NSE,Larry 選了另一條路:他用 Perl 寫了
NSElite,在 SCCS 之上實作了 resync/resolve 指令,基本上類似現今 Git 的
clone/pull/push 指令。
NSElite 比 NSE 快多了,所以昇陽的工程師一個一個背棄 NSE,改用 NSElite。昇陽某
VP 見狀,覺得有商機,就組了一個八人團隊,想要用 C++ 重寫 Larry 寫的 Perl 腳本
,將其產品化為 TeamWare。
TeamWare 大概是最早的分散式版控系統,後來昇陽 Solaris 作業系統的開發全是藉助
於它。工程師們用過 TeamWare 都表示回不去了:不同於 CVS 和 Subversion,TeamWare
讓你將整個專案複製到你自己的機器,你可以盡情地在本地端提交變更,等到準備好再
將你自己本地的版本合併回遠端版本。
這八人團隊的成員本來是寫 C 語言的,當時 C++ 是新的火熱語言,他們邊學 C++ 邊開
發 TeamWare。在 TeamWare 還未完成前,Larry 曾嘗試繼續開發 NSElite,但這無疑是
給 TeamWare 團隊難堪:一個人用 Perl 竟然比八個人用 C++ 還來得快,VP 見狀便告訴
Larry:「這件事已經上報給 Scooter(即 Scott McNealy,昇陽的執行長),如果你再
發佈一次,你就被解雇了。」
為此,1991 年,Larry 停止 NSElite 的開發,但建造一個分散式版控軟體的念頭始終
在他心中揮之不去。他本來以為會有其他商用軟體會跟進 TeamWare 的腳步,但並沒有
。1997 年 Larry 開始著手開發一款名為 BitKeeper 的分散式版控軟體。然而,直到
1998 年 9 月,當他看到郵件列表上 Linus 處於崩潰邊緣,這才真正激勵他開始認真看
待 BitKeeper 這個專案。
# Linux Kernel 採用 BitKeeper
1998 年秋天某日,Larry 邀請了 Linus Torvalds、David Miller、Richard Henderson
來家中,吃完晚餐後,他們席地而坐,開始協商對策要如何減少 Linus 的工作量。他們
在地板畫了三、四個小時的圖,這些圖大致上就是 TeamWare 在昇陽內部行之有年的運
作方式,Larry 對此十分熟悉。
在這個框架中,開發者們可利用 BitKeeper 各自開發,不互相干擾,而且在 Linus 這
邊做最後整合時,能夠不失去修改的歷史記錄,讓 Linus 能看出一個變更的來龍去脈,
審查程式碼時更容易。
「好吧,如果你做出來,而且跑起來跟你說的一樣,我就會用它。」Linus 說道。
「沒問題,這我以前做過,大概需要六個月。」Larry 回答。
Larry 馬上就意識到他低估了問題的複雜度,所以他成立了一間名為 BitMover 公司,
找了幾個熟悉版控系統的好手,一起打造 BitKeeper。19 個月後,2000 年 5 月,
BitKeeper 公開釋出第一版,此時 BitMover 是一個七人團隊。
第一版的 BitKeeper 有一個命令列工具 bk,也有一些圖形介面的工具。其中
bk clone/pull/push 命令作用有猶如 git clone/pull/push。
當時昇陽的 TeamWare 已是有口皆碑,而 BitKeeper 更是 TeamWare 的強化版。例如,
TeamWare 只允許在 NFS 檔案系統間傳遞資料,而 BitKeeper 可以走 HTTP 來傳輸檔案
,實現了真正的分散。因此不久後,BitKeeper 就為 BitMover 帶來充沛的現金流,到了
2002 年,BitMover 團隊成長到了 25 人,完全自給自足,沒靠外部資金。
2002 年 1 月,Linus 工作量太大的問題又再度浮現,開發者送出的修補不是等很久才
遲遲回應,不然就是被忽略。有人寫了一篇「小小的提議」嘗試改善這個問題。討論串
中,有人隨口提到「bitkeeper 真是個好工具」,喚醒了三年前,Larry 家中的那頓晚
餐,在 Linus 腦中種下的那顆種子。Linus 問道:「有多少人在用 bitkeeper 做
kernel 開發?」
果不其然,當時已經有些 Kernel 開發者早就在使用 BitKeeper。Linux PowerPC (PPC)
團隊早在 1999 年 12 月就開始試用 BitKeeper,BitMover 為了幫助他們,架設了
bkbits.net 伺服器。
過沒幾天,2002 年 2 月 5 日,郵件列表上就看到 Linus 開始在測試 BitKeeper。此
後,Linux Kernel 主要開發者們也跟進開始採用 BitKeeper。你不一定要用 BitKeeper
才能參與開發,但如果你是 BitKeeper 的使用者,流程大概是:
# 下載倉儲(repository)
bk clone bk://linux.bkbits.net/linux-2.5 linux-2.5
bk clone linux-2.5 alpha-2.5
# 從另一個地方下載變更
cd alpha-2.5
bk pull bk://gkernel.bkbits.net/alpha-2.5
# 編輯檔案並將變更上傳回遠端
bk vi fs/inode.c
bk push bk://[email protected]/alpha-2.5
若要將變更送給 Linus,你就再寄封信到郵件列表上,內容大致是:
Here is an update for something something...
Please pull from: bk://gkernel.bkbits.net/alpha-2.5
example/file1.c | 6 ++++++
example/file2.c | 4
作者: fantasystar (小光先生)   2024-07-01 22:23:00
看完文章才發現是伊亮
作者: bcew (bcew)   2024-07-01 22:29:00
謝謝分享,好棒的故事^^
作者: v86861062 (數字人:3)   2024-07-01 22:46:00
推推
作者: yurucamp (ゆるキャン△)   2024-07-01 22:56:00
作者: abc0922001 (中士abc)   2024-07-01 23:02:00
看完了,知道好多以前不知道的XD當初 BitKeeper 好像也說會提供 Linus 協助去開發 git
作者: OldDaiDai (老戴戴)   2024-07-01 23:10:00
作者: wulouise (在線上!=在電腦前)   2024-07-01 23:12:00
有夠完整,所以Tridgell真的很喜歡逆向工程xd samba也是
作者: buke (一坪的海岸線)   2024-07-01 23:15:00
作者: rtoday (rtoday)   2024-07-01 23:28:00
作者: touurtn (vv)   2024-07-01 23:33:00
還以為git是橫空出世的概念...
作者: qazwsx12 (SexAnimal)   2024-07-01 23:42:00
非常精彩!!!只是一口氣太長了哈哈
作者: justptt978 (ptt978)   2024-07-01 23:52:00
寫的好
作者: koty6069 (問號問號)   2024-07-02 00:13:00
作者: fantasychese (林阿宅)   2024-07-02 00:20:00
是不是可以說Git的成功 有一部份是Linus的光環效應不知道有多少本來有機會稱霸市場的「週末小專案」因為沒有名人加持而被掩埋在歷史中
作者: loxyz (loxyz)   2024-07-02 00:30:00
作者: rdg1231   2024-07-02 00:42:00
好看,Linus噴人好好笑
作者: ARui (Aniu)   2024-07-02 01:09:00
推推,超級好看!網頁版有很完整的超連結可以點進去看原文考古,超棒的 XDD
作者: kurtsgm   2024-07-02 01:37:00
作者: justhit666 (就打666)   2024-07-02 01:49:00
推推
作者: encorek22554 (二寶)   2024-07-02 02:21:00
推,內容整理的很棒!
作者: DrizztMon   2024-07-02 03:11:00
真的好文
作者: siriusu (かがみは俺の嫁。)   2024-07-02 03:53:00
已拜讀,感謝分享!
作者: steve8625 (HaHaHa(TW))   2024-07-02 07:01:00
作者: taikobo (勉強になるなぁ...)   2024-07-02 07:36:00
有看有推
作者: jimjim951357 (v54dt)   2024-07-02 07:43:00
作者: EasonLiu (Truman)   2024-07-02 07:53:00
推推
作者: keepxha (hahahaha)   2024-07-02 07:54:00
作者: HelloPPT (PTTHello)   2024-07-02 08:16:00
作者: chandlerkc (kcyeh)   2024-07-02 08:40:00
好文
作者: mikukonn (mikukon)   2024-07-02 08:43:00
作者: px172 (千敗劍客)   2024-07-02 08:53:00
作者: ian90911 (xopowo)   2024-07-02 09:00:00
推好文
作者: Bencrie   2024-07-02 09:08:00
作者: leokidd1976 (allen)   2024-07-02 09:23:00
作者: sssyoyo (柚子)   2024-07-02 09:26:00
軟體考古系列 先推再看
作者: whyhsu (whyhsu)   2024-07-02 09:30:00
作者: descent (「雄辯是銀,沉默是金」)   2024-07-02 09:40:00
感謝分享
作者: chihlee5566 (阿告)   2024-07-02 09:44:00
林姓商人
作者: germun (ger)   2024-07-02 10:21:00
超完整推
作者: applewarm   2024-07-02 10:23:00
推講故事
作者: kaitokid1214 (羽)   2024-07-02 10:26:00
好文
作者: wistful96 (wistful96)   2024-07-02 10:28:00
作者: zerofinal (人生~)   2024-07-02 10:28:00
作者: abc0922001 (中士abc)   2024-07-02 10:29:00
Linus 在 Google 演講 git 的也很有趣 Youtube 有
作者: karst10607 (誰可以協助我開板?)   2024-07-02 10:46:00
非常有趣的故事,感謝分享
作者: B0988698088 (廢文少女小円♥)   2024-07-02 11:01:00
太長
作者: a826451115 (Elvis)   2024-07-02 12:04:00
推好文
作者: papple23g (逆道者)   2024-07-02 12:11:00
作者: y2468101216 (芸)   2024-07-02 12:25:00
作者: kai2573 (kai)   2024-07-02 13:12:00
作者: duck10704 (duck)   2024-07-02 13:17:00
先推再看
作者: wei115 (ㄎㄎ)   2024-07-02 13:18:00
git處理純文字很強 但其他格式就沒什麼能力惹
作者: zyxx (321)   2024-07-02 13:23:00
作者: srwhite (魯蛇阿白)   2024-07-02 13:37:00
讚讚
作者: VL1003 (路人V)   2024-07-02 13:55:00
優文
作者: CaptPlanet (ep)   2024-07-02 14:20:00
作者: joewang85 (天才大人)   2024-07-02 14:31:00
推好文
作者: Jonny5 (強尼五號)   2024-07-02 14:54:00
推 我竟然看完了
作者: timmerix (GAIA)   2024-07-02 15:42:00
推推
作者: psychoPass16 (玄)   2024-07-02 15:50:00
推 !當小說看
作者: peter1111 (Peter Huang)   2024-07-02 15:50:00
作者: summerleaves (內湖全聯先生)   2024-07-02 15:54:00
優文
作者: justty32   2024-07-02 16:32:00
作者: tsukiyoK (tsukiya)   2024-07-02 16:36:00
推 非常精彩
作者: lorne5 (lorne)   2024-07-02 17:13:00
作者: Ftso (白吉)   2024-07-02 17:17:00
推 故事很有趣! 希望可以看到更多精彩介紹!
作者: unicornGL (Meion)   2024-07-02 17:22:00
太好看,希望未來多一些,噓的有夠可悲
作者: wizozd84070   2024-07-02 17:42:00
作者: kyrie77 (NTU KI)   2024-07-02 17:50:00
這篇超屌…
作者: shadow0326 (非議)   2024-07-02 17:54:00
作者: Everbo (EBO)   2024-07-02 18:26:00
push
作者: OldTjikko (歐洲雲杉)   2024-07-02 18:26:00
作者: nksp (Tu m'aimes?)   2024-07-02 19:05:00
作者: peteryu168 (peter)   2024-07-02 19:14:00
純推
作者: ASFCommander   2024-07-02 19:28:00
推推
作者: rickphyman42 (neutrino)   2024-07-02 20:17:00
推爆 長知識了
作者: st87253 (stevesue)   2024-07-02 20:31:00
Push
作者: andy9595995 (李律)   2024-07-02 20:52:00
看完推,真有趣
作者: joshua25 (??????????????????????)   2024-07-02 21:04:00
你歷史系!!! 讚
作者: nh60211as   2024-07-02 21:17:00
作者: ELivan (ELivan)   2024-07-02 22:03:00
作者: easters14 (JJ)   2024-07-02 22:12:00
作者: jlhc (H)   2024-07-02 22:34:00
推推
作者: vi000246 (Vi)   2024-07-02 23:48:00
真是精彩
作者: windclock (風時計)   2024-07-02 23:53:00
我居然看完了
作者: michael0543 (麥可)   2024-07-03 00:30:00
推!
作者: lspss93161 (mrswitch1076)   2024-07-03 00:59:00
這篇值得推
作者: Burwei (系館守護神)   2024-07-03 01:00:00
推 好好看
作者: k12795 (遠遠)   2024-07-03 02:35:00
豪堪!
作者: chao0210 (半糖多多綠)   2024-07-03 07:51:00
作者: doggy0704 (azami)   2024-07-03 08:47:00
好看的文很長也看得完
作者: allnun (阿牛)   2024-07-03 08:54:00
推!
作者: sokamin (蘇卡)   2024-07-03 09:40:00
作者: TonyQ (自立而後立人。)   2024-07-03 10:35:00
作者: a731977 (卡哇邦卡)   2024-07-03 10:39:00
作者: lynx (冠)   2024-07-03 11:09:00
作者: GTX9080 (你有Bootloader嗎)   2024-07-03 11:34:00
好看!感謝分享
作者: mozume (米蟲)   2024-07-03 12:31:00
推,精采,感謝分享大神們的世界
作者: jack42107 (小克)   2024-07-03 13:28:00
好好看 推推
作者: nashmvp ( )   2024-07-03 13:47:00
作者: jyunwei (jyunwei)   2024-07-03 14:06:00
作者: e811222c (dickharden)   2024-07-03 14:29:00
推推
作者: kelvin0004 (NIU)   2024-07-03 14:31:00
感謝分享 有趣的歷史
作者: APTON (瑋瑋)   2024-07-03 14:53:00
好看!!
作者: TohmaMiyuki (塔馬美由紀)   2024-07-03 14:57:00
作者: oherman (qq)   2024-07-03 16:20:00
這些軟體大師性格也滿cute
作者: sniper2824 (月夜)   2024-07-03 16:21:00
作者: yelredorange (紅橙)   2024-07-03 16:34:00
推推
作者: wangm4a1 (水兵)   2024-07-03 17:09:00
作者: akasan (KITO)   2024-07-03 18:49:00
作者: yalanin (劍雪命>///<)   2024-07-03 19:08:00
好精彩
作者: pumapupa   2024-07-03 19:28:00
長知識推
作者: ntuee1803 (雙樹枯榮~)   2024-07-03 19:45:00
作者: nek0t1m (貓拳)   2024-07-03 19:46:00
作者: atteleitus (Atteleitus)   2024-07-03 20:28:00
推推
作者: hsia0403   2024-07-03 22:03:00
謝謝整理
作者: lukelove (午睡)   2024-07-03 23:24:00
!? 文學的出路:軟體史
作者: longlyeagle (長鷹寶寶實驗室)   2024-07-03 23:32:00
nice
作者: ms0529876 (大洋游俠)   2024-07-03 23:56:00
作者: jerryway (你媽超強)   2024-07-04 08:29:00
推 很有趣
作者: mcmj5566 (美江五六)   2024-07-04 08:46:00
推推
作者: Tokukenis   2024-07-04 09:46:00
作者: lorderic (天才狗)   2024-07-04 10:46:00
有看有推
作者: MICHAELorz   2024-07-04 11:23:00
作者: Truer (我就是真理)   2024-07-04 12:50:00
很有趣,推
作者: hotahaha (hey you ROCK MAN!)   2024-07-04 14:47:00
好長 推
作者: leviliang (levi)   2024-07-04 15:16:00
乾 也太好看了吧!
作者: riddick9527 (ridalo14)   2024-07-04 15:22:00
推考古
作者: freedls (阿嬤覺得你冷)   2024-07-04 16:58:00
有趣!!
作者: toegazer (身上唯一有鐵的地方)   2024-07-04 17:47:00
好猛
作者: Rulerchen   2024-07-04 18:28:00
作者: jay123peter (蕭瑟風雅)   2024-07-04 19:08:00
作者: c2413576809 (KB貓)   2024-07-04 20:00:00
作者: gclass (gclass)   2024-07-04 20:29:00
作者: kasimEnix (碰一張)   2024-07-04 21:05:00
感謝分享,這些故事都好有趣
作者: uncle925 (-新潮x樂活x便捷)   2024-07-04 21:34:00
推好文
作者: jessie83 (jessie)   2024-07-04 23:41:00
作者: john721 (TBD)   2024-07-05 00:11:00
還沒看完先推一個
作者: e12518166339 (耐綸)   2024-07-05 01:30:00
作者: Luos (Soul)   2024-07-05 01:35:00
SVN還真夠老
作者: jay123peter (蕭瑟風雅)   2024-07-05 02:46:00
作者: developers (rejuvenate)   2024-07-05 05:33:00
Scooter 還蠻好笑的XD
作者: nayeonmywife (sanamywife)   2024-07-05 09:30:00
作者: internetms52 (Oaide)   2024-07-05 16:03:00
作者: alsk1566 (Alsk )   2024-07-05 18:54:00
感謝分享,超有趣
作者: six93250 (茶裏王)   2024-07-05 21:16:00
作者: cloudpsp (阿正正)   2024-07-06 01:45:00
推推很有趣!
作者: ponsheng (ponsheng)   2024-07-06 09:22:00
推 長知識
作者: jay16814   2024-07-06 10:54:00
推推
作者: haoyuan3151 (Rao_cz)   2024-07-06 10:58:00
作者: leonidass (Leonidas)   2024-07-06 12:25:00
作者: fei6409 (fei6409)   2024-07-06 12:42:00
推推 另外 Scott 的 Git talks 也很有趣例如 https://youtu.be/aolI_Rz0ZqY
作者: ayugioh2003 (小麥)   2024-07-06 13:01:00
推推
作者: mazdathree (馬川)   2024-07-06 13:45:00
您的文筆真好 好有趣 有沒有考慮出書啊
作者: itsdelovely (It's De-Lovely)   2024-07-06 14:16:00
推推
作者: william8403 (威威威廉)   2024-07-06 17:24:00
推 有趣
作者: Ekmund (是一隻小叔)   2024-07-06 19:54:00
推 原來2005到現在已經19年了啊...........
作者: EEEEEEEnd14 (眼皮重的路人)   2024-07-06 20:08:00
推 很有趣
作者: d8888 (Don)   2024-07-06 20:47:00
推好文
作者: inte629l   2024-07-07 07:56:00
推 好有趣
作者: RoyalA (X-DVD)   2024-07-07 11:38:00
優質文章 大推
作者: kkk99923 (sakamama)   2024-07-07 20:37:00
超精彩 這個量看得好爽
作者: unmolk (UJ)   2024-07-07 21:25:00
感謝分享
作者: MangoTW (不在線上)   2024-07-08 02:06:00
精彩的來龍去脈
作者: obarisk (OSWALT)   2024-07-08 08:11:00
作者: spath (spath)   2024-07-08 09:18:00
好文推推
作者: ho83leo (LWHo)   2024-07-08 10:21:00
真屌... 推
作者: wxywxywxy   2024-07-08 12:29:00
不知不覺看完了 寫得真好
作者: sck921 (The Fate)   2024-07-08 13:56:00
作者: l145678p (蓮子湯)   2024-07-08 16:48:00
推推
作者: mikeqoo1 (海葵)   2024-07-08 19:39:00
推推 資訊歷史好好玩
作者: errr2333 (errr2333)   2024-07-08 21:29:00
作者: jj2564 (MR.黃)   2024-07-08 23:31:00
推,本來該睡覺了結果不小心看到...
作者: Nt9ii45   2024-07-09 02:20:00
作者: ddkkz2003 (eyebear)   2024-07-09 11:22:00
作者: DarkNT (紐太)   2024-07-09 16:04:00
作者: ch12789 (ch12789)   2024-07-09 21:34:00
推推
作者: ericthree (如果 她這樣動人)   2024-07-10 08:07:00
推 大神的故事真好看
作者: fallen01 (優質不OP)   2024-07-10 12:03:00
Linus真的屌
作者: infernodimon (小小。齊兒)   2024-07-10 22:00:00
長知識 推
作者: kakahikari (那不是我)   2024-07-11 00:12:00
作者: wk415937 (wk4)   2024-07-11 12:41:00
作者: flysonics (飛音)   2024-07-11 12:48:00
作者: chan15 (ChaN)   2024-07-11 16:55:00
精彩
作者: math79   2024-07-12 00:17:00
推 !
作者: kenwufederer (Nash)   2024-07-12 12:38:00
作者: oceanmygod   2024-07-13 17:37:00
有趣
作者: meteorboy (閃亮亮DJ)   2024-07-15 12:17:00
太精彩了!
作者: edwardhsu (年紀小不懂事)   2024-07-15 19:07:00
作者: ptt0211 (松城煙雲)   2024-07-16 15:48:00
作者: genic (路過的小細菌)   2024-07-16 21:06:00
作者: shiwa   2024-07-17 07:37:00
作者: tomroy (離題輝。)   2024-07-17 15:55:00
酷!
作者: fullout (f)   2024-07-18 18:54:00
推+收藏,有英文原文太棒惹
作者: ming0071 (ming)   2024-07-19 17:27:00
故事超有趣 推!
作者: s860134 (s860134)   2024-07-19 20:17:00
精采
作者: PoiViww (薄米)   2024-07-20 03:19:00
好好看
作者: velaro (下路雙組合)   2024-07-21 03:54:00
Git 真的糟糕…..好險現在換公司不用再想merge conflict了
作者: JZGY (JZGY)   2024-07-24 11:22:00
敘事流暢增廣見聞,大推!!
作者: fishxd1096 (UN_ReAL)   2024-07-27 04:23:00
推 好看
作者: LeaderH (Leader)   2024-07-27 23:34:00
好看
作者: silveryiris (= =)   2024-08-10 15:01:00
作者: bj78947 (fkoorc456)   2024-09-08 02:07:00

Links booklink

Contact Us: admin [ a t ] ucptt.com