結果,
客戶跟你說:「內個...因為我們後來想了一下覺得原本的那個功能還不錯,所以麻煩你加回來~」
「...」
沒關係,謹慎的你早料到客戶會有這樣的要求,所以有備份了當初的專案,並複製進行修改,所以有了 real_final_project。
好棒棒R,真是個計畫通呢(ง๑ •̀ω•́)ง!
沒想到,最後高估了客戶,於是有了 real_final_project_01 、 real_real_final_project_01 、fucking_real_final_project ...
搞了超多最終版本,你告訴自己為了摳摳忍了。
但這樣修改到最後,已經完全不知道最終版本是什麼的時候,體恤你的客戶說:「我找了另一個工程師來幫你摟(ゝ∀・)」
於是,你開始面臨到跟另一個工程師修改到同一個功能、同一個程式碼的困境了。
天哪,你一定覺得自己是不是做錯了什麼,為什麼要這樣對待你,大概這時候也已經心累了吧!
這時, Git 就很重要喇(撒花✧*。٩(ˊᗜˋ*)و✧*。)~~~(完全是神R)
Git 為什麼重要呢?
因為 Git 可以保留修改前修改中修改後的這些歷史紀錄,就可以隨時取得修改前修改中修改後的版本,就不用複製備用的檔案喇。
說到 Git ,就想到一個有趣的小故事。
Git 是 Linux 之父 "Linus Torvalds" 開發出來的,是為了管理更好的 Linux kernel 。
在 Git 出來之前 Linux kernel 是採用 BitKeeper 進行版本控管(因為是免費的分散式版本控制系統R,佛心企業)但在之後一個 Linux Kernel 的開發者嘗試去破解 BitKeeper 裡面的東西,結果惹怒了 BitKeeper,導致後來免費使用權被收回去惹。(有一點白目R哈哈哈)
但是 Linus 是誰R,沒關係啊自己來做一個,於是他在10天內開發出 Git~~~
真D是大神欸(✪ω✪)
Git 的命名來自英國俚語,意思大概是「混帳」,不知道大神是在自嘲還是...
好拉,回來
在進行版本控制系統介紹前先小科普一下:)
數據庫 (Repository)
- 係指保存檔案或程式碼的地方,儲存內容的修改歷史記錄、和所有有關這個專案的內容。
數據庫還細分為
版本控制系統 (Version Control System, VCS) 能記錄任何專案內各個修改過的版本,並讓使用者可以取得特定版本的系統。
且又分為 集中式版本控制系統 (Centralized Version Control System)
與 分散式版本控制系統 (Decentralized Version Control System)。
集中式版本控制系統
- 係指版本都儲存在中央的伺服器,且需要有網際網路的情況下才能使用。就是說用自己的電腦時,需要先到中央伺服器取得最新版本,進行新增刪除修改後,再提交回去數據庫。
分散式版本控制系統
- 沒有「中央伺服器」,每個人的電腦上都有一個完整的數據庫,這樣工作的時候就不需要網際網路惹,因為自己的電腦上就有數據庫了。
而 Git 就是分散式版本控制系統
。(重點)
問題又來了,版本控制系統有這麼多,為什麼要選擇 Git 呢?
哼哼,這就是我為什麼在這裡寫學習文章喇!
我蒐集了以下 Git 的 優點:
大家都在用 Git ,現在全球市佔率為 37.98% ,多麽驚人的市佔率R,所以我要好好的學以致用惹!
--圖片來自Datanyze
以下來源是我接下來每天學習必看的資源(免費),也分享給大家閱讀:)
30 天精通 Git 版本控管 作者: 黃保翕 ( Will 保哥 )
Git新手入門教學 – part 1 作者: LYNN
連猴子都能懂的Git入門指南| 貝格樂(Backlog)
為你自己學 作者: Git高見龍