Git實戰(二)原理

        上次的博文Git實戰(一)版本控制概述中我們簡單介紹了一下版本控制系統的概念,重點對版本控制的三種類型進行了分析和對比,從本篇博文開始我們進入Git的世界,首先介紹一下Git實現版本控制的原理。

        Git與SVN等其他版本控制系統的最重要的一點區別在於,Git只關心文件數據的整體是否變化,而不是關心文件內容的差異。


SVN等原理分析

        如何理解呢?我們可以通過兩種圖進行比較,首先看一下SVN等其他版本控制系統的原理圖,如下所示:



        在上述圖片中,橫向表示各個版本,縱向表示各個文件和其差異。在version1中,存在三個文件分別是fileA、fileB、fileC;在version2中,fileA、fileC發生變化1,那麼我們就變化1進行記錄;在version3中,fileC發生了變化2,那麼我們就將變化2進行記錄;以此類推。


Git原理分析

        接下來,我們再來看一下Git原理圖,如下所示:

        在上述圖片中,橫向表示各個版本,縱向表示各個快照(所謂快照,即其所表示文件的一個副本或一個複製品)。在version1中,存在三個快照分別是A、B、C;在version2中,A、C發生了變化,那麼我們就對A、C做一個快照A1、C1,而B沒有任何變化,那麼就不再做快照而只是做一個上次的快照做一個鏈接B;以此類推。

        通過上述分析,我們可以得出SVN等其他版本控制系統關心的是每一個文件變化的內容,即側重於細節內容。而Git則更多的關心每一個文件整體的變化,即側重於整體。這就是Git與其他版本控制系統的主要區別。

        簡單的講,Git本身只是一個版本控制工具,使用Git並沒有多少難度,如果您之前使用過類似的版本控制工具,那麼完成一些日常性的操作,應該說是非常簡單的,但Git本身還有一些與其他版本控制工具所不同的內容,這就需要我們對Git的思想和工具原理做一個簡單的瞭解了。

        接下來我們繼續講解Git的其他內容,敬請期待!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章