Git——概念——版本庫

  版本庫指的是.git目錄,介紹版本庫下各個文件和文件夾的作用。

1、文件

1.1  index

  暫存區文件,存儲一次提交到當前時間的變更集(當前時間還未提交)。

1.2  config

  保存版本庫的配置信息,它的作用域有三種,

  system:作用域爲系統變量,適用於電腦上的任何用戶創建的任意版本庫

  global:作用域爲當前用戶創建的任意版本庫。

  local:作用域爲當前版本庫。

  常見的配置信息有個人信息,例如user.name, user.email,分支關聯信息,例如:

[branch "xx"]
	remote = origin
	merge = refs/heads/xx

  可以通過git config指令,修改各個作用域的配置文件。分爲兩類,配置文件內容的操作,某個配置項的操作。

  1.2.1  配置項

  格式:

git config <file-option> --type=<type> --add key value

  選項:

    file-option:文件的選項。例如作用域global, system, local   

    type:數據的類型,默認類型爲key-value,還有布爾,int,patch等其他類型,實際使用場景較少,略。

    add key value:具體的某個命令,這裏以添加爲例。其中add可以省略,默認爲添加鍵值對。

  示例:

    git config –-global user.name xx

  配置項的增刪改查。

  新增: git config --scope –-add key value

  查詢:git config --scope --option –-list, option略。

  刪除:git config --scope –-unset key。

  批量刪除:git config --scope --unset-all key。

1.2.2  配置文件

  格式:

git config <file-option> command

  選項:

    file-option:文件的選項,與操作配置項的指令含義相同。

    command:具體的指令。

  文件操作:

          編輯:git config –global -e

  文件內容:針對的都是存量內容。

         新增: git相關操作會自動同步到config文件中。

         查看:git config [–-get || --get-all] section.xx,例如core.bare,get-all獲取當前key對應的所有value。

         正則表達式查看:git config –scope –get-regexp 表達式, 例如git config –scope –get-regexp core.*,查看section core下面的所有變量。

    刪除:git config --scope –remove-section name,section通常由【】包裹。

    重命名:git config --scope –rename-section old_name new_name

1.3  description

  版本庫的描述,它用於描述版本庫的用途。類似於Java在創建包時,創建的package-info.java。

1.4  head

  保存Head當前指向的Commit對象。它包含兩個信息,第一個信息是分支名稱,第二個信息是Commit對象的信息。

2、文件夾

2.1 objects

  它用於存放核心對象,blob,commit,tree,每種類型的對象都一一對應SHA1值,並以它的前兩位作爲目錄名稱,後126位作爲文件的名稱。

  打開目錄,通過人是無法識別出對象的類型,而且也無法查看文件的內容,都是二進制文件。

  切記勿修改,移動,刪除其中的內容。

2.2  refs

  存放引用,通常分爲三類,

  本地的分支:存儲分支信息。

  遠程的分支:目錄名稱爲遠程版本庫的名稱,子目錄與本地分支沒有區別。

  tags:存儲tag對象。

2.3  logs

  存放Git的日誌,大部分是引用日誌,即HEAD相關的日誌。

  可以通過git reflog, git log命令查看日誌的內容

2.4  info

  存儲其他信息,在該目錄下最常見的文件爲exclude,指定排除哪些文件。

2.5  hooks

  它存放hook腳本,功能類似於事件監聽,在git指令之前或之後執行特定的shell腳本,hooks目錄下存放的是示例腳本,可以直接刪除。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章