菜雞新訓記 (1): 使用 Git 來進行版本控制吧
這是俺整理公司新訓內容的第一篇文章,目標是整理 Git 相關的筆記。
前言、推薦資源
說來慚愧,前陣子 PTT 和臉書社團都有討論到相關科系畢業卻不會 Git 會不會太誇張,我正是畢業之後才開始用 Git 的那類人囧,相信像我一樣的人並不少,因此這個系列就決定從「新訓時學到的 Git 的基本操作」開始記錄。
開始之前先感謝公司前輩和完善的新手教學,還有第一天就先學 Git 的優良傳統。另外,也感謝相當多優秀的 Git 學習資源,說明得也更為詳細深入,想好好了解 Git 的朋友也可以逛逛,這邊就先推薦一波:
- 為你自己學 Git
- 對新手非常友善。網站點進去後往下拉,可以看到大部分章節都能免費看,佛!
- 最有價值的是裡面的各種狀況題。畢竟當你用 Git 不只需要基本操作的時候,呃,祝你好運
- 連猴子都能懂的 Git 入門指南
- 從入門到進階篇跟過一次的話,基本操作就沒有問題了
- 圖解讓人很好理解,而且在教學的實作部分會提供儲存庫讓你下載實作
- 黑暗執行緒的 Git 分類文章
- 同場加映:黑暗執行緒的 Git 指令筆記
- 黑大出品,品質保證
- Learn Git Branching
- 用遊戲通關的方式認識 Git,對於一些分支的概念會很有幫助
- 30 天精通 Git 版本控管
- Pro Git
接下來我們就從認識 Git 開始吧!
什麼是 Git?
你發生過以下狀況嗎?
- 從沒做過版本控制,結果突然要改回前一版,不知所措
- 使用資料夾/壓縮檔板控
- 20201201.rar, 20201215_v2.rar, 20201215_首頁.rar……
- 空間越吃越兇,東西越來越雜,事情越想越不對勁,但是不敢刪除
- 其實不知道每一份實際上改了哪裡,要復原某一段的時候要找半天,不如直接重寫一段
- 團隊合作/分組報告,各自負責一個區域,結果複製來複製去組不起來,不只需要看眼科,修 BUG 還比寫的時間還多
- 看到一段程式碼
- 完全不知道為什麼要這樣寫
- 或是氣到要死,抓不到戰犯
那麼,你很有可能需要 Git!
Git 是一套分散式的版本控制,就像是打電動時的存檔。讓我們可以在面臨重要選擇的時候存檔、打王之前存檔、打贏的時候也存個檔。當然,像是那種有多劇情多結局的遊戲,也可以針對不同路線各自存檔。
同時它也支援雲端存檔,你可以在電腦上存個檔,然後有網路的時候就丟上去雲端備份一下。而這個雲端備份是共用的,所以你可以跟朋友一起玩同一款遊戲,各自攻略不同的 BOSS,再把存檔和朋友互相交流交流,合成一個有兩份戰利品的存檔。
這些功能在 Git 有著聽起來比較厲害的名字,例如認可(Commit)、分支(Branch)、分散式、合併(Merge)等等。我們後續再慢慢了解它們。
……