.git 目錄解釋

John Wachira 2022年4月22日
.git 目錄解釋

在本文中,我們將介紹 Git 資料夾 .git。我們將介紹 Git 建立資料夾的原因及其包含的內容。

Git 中的 .git 資料夾是什麼

Git 是一個廣泛使用的版本控制系統。Git 倉庫儲存你在專案中所做的更改。

.git 目錄將所有資料儲存在你的倉庫中。此資料夾可以儲存從有關提交的資訊到倉庫電子郵件地址的任何內容。

你還將找到一個包含你的提交歷史記錄的日誌。使用此日誌,你可以恢復所需的程式碼版本。

當你執行 git init 命令來初始化一個空倉庫時,Git 會建立 .git 資料夾。

你可以通過執行以下命令來檢視該資料夾。

ls -C .git

你可以期待如下所示的輸出。

$ ls -C .git
COMMIT_EDITMSG  HEAD       config       hooks/  info/  objects/     refs/
FETCH_HEAD      ORIG_HEAD  description  index   logs/  packed-refs

讓我們進一步探索這個目錄的內容。

  1. hooks/ - hooks 資料夾儲存指令碼檔案。當你執行諸如 pushcommit 之類的命令時,Git 會執行這些指令碼檔案。
  2. objects/ - 此資料夾包含 Git 的物件資料庫。
  3. config - 這是 Git 的配置檔案。
  4. refs/ - 此資料夾包含有關分支和標籤的資料。
  5. HEAD - 此檔案儲存有關你的主分支的資訊。
  6. index - 此二進位制檔案包含暫存資料。

你可以通過執行以下命令檢視物件資料庫包含的內容。

ls -C .git/objects

你應該得到如下所示的輸出。

$ ls -C .git/objects
03/  24/  30/  77/  87/  ac/  b6/  c6/  e1/  ec/  info/
19/  29/  4b/  78/  8b/  b1/  c3/  d4/  e6/  f6/  pack/
1f/  2d/  67/  7b/  a6/  b2/  c4/  dd/  e9/  fa/

你可以使用 ls -C .git/objects/<dir> 命令查詢資料庫的物件。

讓我們探索 config 檔案。執行 cat .git/config 命令,如下所示。

pc@JOHN MINGW64 ~/Git (main)
$ cat .git/config
[core]
        repositoryformatversion = 0
        filemode = false
        bare = false
        logallrefupdates = true
        symlinks = false
        ignorecase = true
[gui]
        wmstate = normal
        geometry = 893x435+208+208 175 196
[remote "origin"]
        url = https://github.com/Wachira11ke/Delftscopetech.git
        fetch = +refs/heads/*:refs/remotes/origin/*

HEAD 檔案預設引用你的主分支。

.git 資料夾始終隱藏以防止損壞。如果刪除該檔案,則無法恢復倉庫中的更改。

作者: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

相關文章 - Git Directory