iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 25
0
自我挑戰組

Git學習筆記系列 第 26

git 物件基礎認識

這篇筆記是由保哥寫的這篇節錄我覺得要注意的點而來

儲存庫(Repository)

就是我們下了init後產生的.git目錄

 $ git init

我們也可以下bare參數讓它建立一個裸儲存庫,它就不包含工作目錄了

 $ git init --bare

工作目錄(Working directory)

就是專案開發的根目錄

通常我們會將remote上的版本 clone到本地端的工作目錄下進行開發

git內有2個重要的資料結構

  • 物件

  • 索引

什麼是物件

  • 將一個檔案的內容中取出,透過內容產生一組 SHA1 雜湊值,然後依照這個 SHA1 雜湊值命名的一個檔案。

  • 分為tree物件與blob物件

    • tree 物件
      • 代表資料夾
      • 用來儲存特定資料夾下包含哪些檔案,以及該檔案對應的 blob 物件的檔名為何
    • blob 物件
      • 代表檔案
      • 是一個「只有內容」的檔案,其檔名又是由內容進行 SHA1 雜湊運算後產生
    • commit 物件
      • 用來記錄有那些 tree 物件包含在版本中
    • tag 物件
      • 是一個容器,通常用來關聯特定一個 commit 物件 (也可以關聯到特定 blob、tree 物件),並額外儲存一些額外的參考資訊(metadata),例如: tag 名稱。

什麼是索引

  • 一個經常異動的暫存檔,這個檔案通常位於 .git 目錄下的一位名為 index 的檔案

  • 「索引」的目的主要用來紀錄「有哪些檔案即將要被提交到下一個 commit 版本中」


上一篇
合併多個commit為1個 use squash
下一篇
git gc
系列文
Git學習筆記31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言