六月 30, 2016 | 後端和Drupal

學Drupal必備的技能:Git 介紹

不管是報告、專案、設計作品......,我們都一定有過「想在目前的進度上加點其他東西、但又怕把東西做壞了」這時候,我們就會另存新檔,然後可能在檔名上取名P1、P2之類的,做好了當然好,做爛了也不怕東西不見。這就是一種版本管理!!當然,上述的狀況大部分只限於單人或單機作業。 或許你會疑問,那多人協同開發的時候怎麼辦呢?這時候我們就能使用版本控制系統。

前言

大家一定都有過跟同學或同事一起製作一份報告,那很有可能發生以下狀況。
大家共同使用一個雲端空間,某日A君新增了一份文件請B君和C君看看有沒有哪些地方需要修改,B君與C君修先後改了這份文件之後,A君發現他們都亂改,A君想罵人卻不知道是誰修改了哪些部分。又或者是B君先上傳修改的文件之後,C君也上傳了他修改之後的文件,導致B君的文件直接被C君覆蓋掉。

這個時候如果有一個工具能夠查看誰在什麼時間點修改了什麼內容,或是解決大家一起寫一份文件時,內容被覆蓋掉的狀況,那該有多好。

版本控制將會是解決上述這些事情的一個最佳選擇。

版本控制系統

在認識 Git 前,首先讓我們先來瞭解一下什麼是版本控制。
不管是報告、專案、設計作品......,我們都一定有過「想在目前的進度上加點其他東西、但又怕把東西做壞了」這時候,我們就會另存新檔,然後可能在檔名上取名P1、P2之類的,做好了當然好,做爛了也不怕東西不見。這就是一種版本管理!!當然,上述的狀況大部分只限於單人或單機作業。
或許你會疑問,那多人協同開發的時候怎麼辦呢?這時候我們就能使用版本控制系統。

那什麼是版本控制系統?

我們都做過版本管理,只是使用的需求跟方法都不同。版本控制系統就是將這些需求做整合之後發展出的工具。備份、回復、修改時間、誰做了修改,合併、同步......等等,看到這裡,你有沒有發現一件事呢?版本控制系統並不侷限與單人或多人,所以多人合作開發的情況下,選用一套版本控制系統,絕對更有效率。

1. 集中式版本控制系統

是由一個單一伺服器,記錄所有版本的檔案,並且有多個使用者從伺服器裡取出檔案。
但當伺服器無法連上就沒有辦法做協同開發以及把新版的檔案分享給其他人伺服器一旦毀損,則所有檔案都會消失。

比如:SVN及CVS
想知道關於更多的內容請看這裡這裡

2. 分散式版本控制系統

可以與多個遠端的機器同時運作,多台電腦都用一個完整的資料庫,就算有電腦毀損都可以由任何一台使用者的電腦之前複製的檔案還原到伺服器上。

那什麼是 Git?

Git最初的開發目的是為了管理linux龐大的內核資料。他是一個以分散式版本控制為核心概念所開發的系統工具,其特色在於用他強大的分支系統來解決多人開發的問題。

PS.所謂的分支就類似另存新檔,而 Git的另存新檔最大的特色就是不會很佔空間。

之後會有更詳細的Git相關文章,請持續的關注我們部落格。

結論

有了這種好用的工具之後A君就可以知道B君和C君在何時改了哪些東西,並且可以使用 Git 的分支功能防止愚蠢的C君覆蓋掉B君的檔案了,真是可喜可賀!

使用我們的服務即表示您同意Cookie政策。了解更多