1. 程式人生 > 其它 >Pro Git --- 讀書筆記 (Chaptero1)

Pro Git --- 讀書筆記 (Chaptero1)

Git是什麼

直接記錄快照,而非差異比較

  • 其他大部分系統以檔案變更列表的方式儲存資訊,這類系統將它們儲存的資訊看作是一組基本檔案和每個檔案隨時間逐步累積的差異,這通常稱為基於差異的版本控制

  • Git更像是把資料看作是小型的檔案系統的一系列快照,每當在git中提交更新或者儲存專案狀態,基本上就會對當時的全部檔案建立一個快照並儲存這個快照的索引。為了效率,如果檔案沒有修改,git不再重新儲存這個檔案,而是保留一個連結指向之前儲存的檔案。

  • Git保證完整性,git中的所有資料在儲存前都計算校驗和。

  • git計算校驗和的機制是使用SHA-1雜湊,是基於檔案的內容或目錄結構計算出來的

  • 三種狀態:

    • 已修改(修改了檔案,但沒有儲存到資料庫)對應工作區階段
    • 已暫存(對已修改的檔案的當前版本做了標記,使之包含在下一次提交的快照中)對應暫存區階段
    • 已提交(資料已經安全儲存在資料庫中)對應Git目錄
  • 工作區是對專案的某個版本獨立提取出來的內容,這些檔案放在磁碟上供你使用或修改

  • 暫存區是一個檔案,儲存了下次將要提交的檔案列表資訊。

  • Git倉庫目錄是用來儲存專案的元資料和物件資料庫的地方

  • git config用來設定控制Git外觀和行為的配置變數

    1. ~/.gitconfig檔案,針對使用者,可以傳遞--global選項,對系統所有的倉庫生效
    2. 當前倉庫的Git目錄中(.git/config),針對倉庫,可以傳遞--local選項,只對當前倉庫生效
  • 設定使用者資訊

  • 設定檔案編輯器