菜哥:「就是啊,我最近有一個煩惱。因為我的笑話太多了,所以我目前都用文字檔記錄在電腦裡,可是變得越來越多之後很難紀錄,而且我的笑話是會演進的。會有版本一、版本二甚至到版本十,這樣我就要建立好多個不同的檔案,弄得我頭很痛,聽說你們工程師都會用一種程式叫做 Git 來做版本控制,可以教我一下嗎?」
『好吧,我試試看』
菜哥:「謝啦,話說你來參加這個計畫學程式真的選對了欸,之後就不會有貧血的困擾了」
『為什麼』
「因為你會寫程式」
『...』
「喔...原來是血乘四的部分啊(拍手)」
『既然你已經知道 Git 這個程式是用來做版本控制的,那你有想過我們要怎麼做版本控制嗎?』
「沒有,我只知道我笑話超多,所以檔案也超多,要怎麼管理呢?
『有很多個檔案沒關係,我們用一個用資料夾把所有檔案裝起來,方便我們管理(選擇一個資料夾來做版本控制:git init)』
「可是有一些檔案,像是笑話使用說明書是不會有新版本的啊!」
『很簡單把要做版本控制的檔案放在資料夾裡,不做版本控制的就不放進去 ( git add + 檔名 ) ,當新版本的笑話完成時,就把資料夾更新名稱,就是更新版本(git commit) 』
「我懂了,名稱就是用菜哥笑話全集_1、菜哥笑話全集_2、菜哥笑話全集_3…對吧?」
『對!只是名稱不用流水號,我們用亂數來命名』
「原來是亂數的部分,OKOK,那要怎麼知道這些版本的順序呢?」
『我們開一個新檔案,專門用來紀錄這些亂數名稱的順序( git log )』
「哈哈哈哈哈,我懂了,那實際上怎麼做呢?」
『第一次用 init 創建資料夾,再用 add 把檔案裝進去』
「我知道,就是剛才說的把要做版本控制的檔案放在資料夾裡,不做版本控制的就不放進去」
『沒錯,所以 add 是決定有哪些檔案要控制,哪些不用。當笑話的新版本寫好時的下一步,就是用 commit 來決定現在在資料夾裡的這幾個檔案要成為一個新版本』
「哈哈哈哈哈,我會把更新笑話版本啦!」
『沒想到,菜哥今天不烙賽,版本控制人人愛(單押X1)』