fbpx

本篇大綱:

  • 何謂版本控制?
  • 版本控制的類型和用途
  • Git介紹和使用者
  • Git vs Github vs Gitlab

何謂版本控制?

版本控制系統是一種軟件工程的開發技巧,可以通過這個系統讓每位成員的軟件版本可以方便同步和維護管理

(不然要用電子郵件或其他工具傳送和管理十分麻煩,尤其是程序又常常會有不同版本修改的問題!)

在沒有版本控制系統時,我們常會在編輯檔案前複製一個備份,或者在更新檔案後產生許多重複檔案,非常不便且難以維護。

因此,使用版本控制系統的需求就這樣產生啦!

版本系統類型和用途

舉例來說:A&B共同開發專案,有兩種版本控制方法:

1.中央式:

伺服器維護一個最新版本的專案,當要修改專案的時候,就從伺服器上下載專案,改完再上傳。

為了保證伺服器上永遠是最新的,就需要一直保持網路暢通;一旦中央伺服器壞了,一切都將結束。

CVS是最初的版本控制系統,SVN是當前最流行的集中式版本控制系統。上述兩個都是開源,免費的。

2.分散式:

一開始,A本地電腦有一個倉庫,用於存儲“ A對專案的修改”(B也一樣)。

需要更新整個專案的時候,A,B之間就互相點擊“修改”,然後本地倉庫就保存了“所有人該專案的修改”。

因此,每個人都有最新版的專案,斷網斷電也不用擔心。

目前使用人數最多的當然就是Git啦!

Git介紹和使用者

要把檔案恢復到編輯前的狀態,大家都是怎麼做的呢?

最簡單的方法就是先複製編輯前的檔案,使用這個方法時通常都會在檔案名稱或目錄名稱上添加編輯的日期。

但是,每次編輯檔案都要復制非常的麻煩,也很容易出錯。

                  

像上面的例子那樣毫無規則的命名的話,就沒有辦法區別那一個檔案是最新的了。

如果是共享操作的檔案要加上編輯者的名字,具體進行了某種的更改也不容易知道了。

而且,共享的檔案,如果有兩個人同時進行編輯的話,先進行編輯的人的修改內容會被覆蓋,相信大家都有這樣的經歷。

Git的版本控制系統就是為了解決這種的問題而開發的。

Git為分散式版本控制系統,是為了更好管理Linux內核而開發的。

Git可以把檔案的狀態作為更新歷史記錄保存起來。因此可以把編輯過的檔案恢復到以前的狀態,也可以顯示編輯過內容的差異。

而且,有人想將編輯過的舊檔案上傳伺服器,覆蓋其他人的最新檔案時,系統會發出警告,因此可以避免在無意中覆蓋他人的編輯內容。

Git的使用者多個專案開發人員,連設計人員都可以使用!

基本上,Git只關心檔案的“內容”,所以只要是檔案,其實都可以使用Git來管理。

只是,設計師工作少量的檔案主要是PhotoShop的PSD或Illustrator的AI檔,雖然Git也可以管理這些檔案,

但因為這些檔案(二進位檔)不像一般文字檔可以一行一行的被查看,所以就沒辦法那麼精準的知道什麼人在什麼時候改了某種字。

但整體而言,使用Git還是可以幫得上設計師的忙,至少當檔案不小心被覆蓋或刪除的時候,還可以救回舊的版本的檔案。

Git vs Github vs Gitlab

Github和Git是兩回事。

Git是版本控制系統,Github是在線的基於Git的代碼託管服務。

GitHub是2008年由Ruby on Rails編寫而成的。GitHub同時提供了帳戶和免費帳戶。

這兩個帳戶都可以創建公開的代碼倉庫,但是某些帳戶也可以創建私有的代碼倉庫。

Gitlab

Github有個小缺陷,就是你的repo(repository的縮寫,表示“倉庫”)都需要public(公開)

如果你想要創造private(私人)的repo,那得付錢。

幸好,Gitlab解決了這個問題,可以在上面創建免費的私人repo。

celia

celia

人生苦短,我用Python !

Leave a Reply