直接快照,而非比較差異
git
與其他版本控制系統的主要差別在於:
git
:只關心檔案資料的整體是否發生變化
svn
:只關心檔案內容的具體差異(如:那些檔案更新了,都更新了哪些行的什麼內容)
git
每次提交更新時會縱覽一遍所有檔案的指紋資訊並對檔案作一快照,然後儲存乙個指向這次快照的索引。
svn
:
近乎所有操作都可本地執行
git
:絕大多數操作只需要訪問本地檔案和資源
svn
:差不多所有操作都需要聯網
時刻保持資料完整性git
由本地資料庫,可以直接讀取本地資料庫進行展示。如果要檢視差異,
git
會取出乙個月前的快照和當前檔案做一次差異計算,不必重新請求遠端伺服器。
在儲存前,git
都要進行內容的校驗和計算,並將結果作為資料的唯一標識和索引。
git
使用sha-1
演算法計算校驗和,通過對檔案的內容或目錄計算出sha-1
雜湊值,作為支付字串:
24b9da6552252987aa493b52f8696cd6d3b00373
實際上,所有儲存在git資料庫的東西都是用此雜湊值做索引,而不是靠檔名。多數操作僅新增資料
一旦提交快照後就完全不用擔心丟失資料,特別是在養成了定期推送至其他映象倉庫的習慣的話。
三種狀態
檔案流轉的工作區域:
基本的git工作流程:
在工作目錄中修改某些檔案。
對這些修改了的檔案作快照,並儲存到暫存區域。
提交更新,將儲存在暫存區域的檔案快照轉儲到 git 目錄中。
Git Pro讀書筆記 1 概念
直接快照,而非比較差異 git與其他版本控制系統的主要差別在於 git 只關心檔案資料的整體是否發生變化 svn 只關心檔案內容的具體差異 如 那些檔案更新了,都更新了哪些行的什麼內容 git每次提交更新時會縱覽一遍所有檔案的指紋資訊並對檔案作一快照,然後儲存乙個指向這次快照的索引。近乎所有操作都可...
kafka讀書筆記1 概念
topic partition log partition log 保留策略 retention policy 日誌壓縮 log compaction 日誌壓縮 有時候使用者只關心key最新的value值 broker 在一般的生產環境中,乙個broker獨佔一台物理伺服器 replica 副本 i...
讀書筆記 1
從我第一次看到windows就對它那花花綠綠的外表所吸引,大學兩年過來,時間又讓我從另乙個角度重新認識的了這些美麗的。本學期開始圖形程式設計的學習,探索windows圖形系統,並對gdi api,directdraw api進行學習。之所以寫部落格,第 一 是想勉勵自己不斷學習,讓大家監督 第 二 ...