微信公眾號:PHP在線
Git 究竟是怎樣的一個系統呢?為什么在SVN作為版本控制工具已經非常流行的時候,還有Git這樣一個版本控制工具呢?Git和SVN的區別在哪兒呢?Git優勢又在哪呢?下面PHP程序員雷雪松帶你一起詳細的聊一下Git。
Git 是由Linux 的締造者 Linus Torvalds開發出自己的版本系統,Linux 內核開源項目是由Git來作為版本管理工具管理的。這樣一說是不是覺得Git肯定不能小覷。
Git 設計的時候是分布式版本控制系統,而SVN是集中化的版本控制系統。如果SVN服務器的發生故障,你就不能在使用版本控制,并且可能丟失所有歷史更新記錄的風險。Git所有操作都是本地執行,可以離線進行任何操作。而且Git可以用任何一個鏡像出來的本地倉庫恢復。因為每個用戶克隆的操作都是對代碼倉庫的完整備份。
Git 對待數據更像是一個 快照流。而SVN則以文件變更列表的方式存儲信息,將它們保存的信息看作是一組基本文件和每個文件隨時間逐步累積的差異。
Git 有三種狀態:已修改(modified)、已暫存(staged)和已提交(committed)。已修改表示修改了文件,但還沒保存到數據庫中。已暫存表示對一個已修改文件的當前版本做了標記,使之包含在下次提交的快照中。已提交表示數據已經安全的保存在本地數據庫中。
Git 項目的三個工作區域的概念:Git 倉庫、工作目錄以及暫存區域。Git 倉庫目錄是 Git 用來保存項目的元數據和對象數據庫的地方。克隆倉庫時,拷貝的就是這里的數據。工作目錄是對項目的某個版本或者分支獨立提取出來的內容。暫存區域是一個文件,保存了下次將提交的文件列表信息。
基本的 Git 工作流程如下:
1、在工作目錄中修改文件。
2、暫存文件,將文件的快照放入暫存區域。
3、提交更新,找到暫存區域的文件,將快照永久性存儲到 Git 倉庫目錄。
相信通過上面的講解,大家對Git有個更好的認識,Git的優勢總結一下,分布式設計,數據快照保存數據,很好的保證完整性以及高效分支管理。在PHP程序員雷雪松的博客中也有一篇專門介紹《Git常用命令詳解》的文章,歡迎大家點擊閱讀。