當你透過 git init 建立 git 倉庫時, git 就會建立 .git 目錄。該目錄包含讓 git 能夠正常工作所需的所有資訊。直白點說,如果你不想在專案中繼續使用 git ,直接將 .git 目錄刪除只保留專案檔案即可。但是為什麼這樣做就可以呢?
下面是你第一次提交後 .git 資料夾的樣子:
├── HEAD
├── branches
├── config
├── description
├── hooks
│ ├── pre-commit.sample
│ ├── pre-push.sample
│ └── ...
├── info
│ └── exclude
├── objects
│ ├── info
│ └── pack
└── refs
├── heads
└── tags
HEAD
後面再講。
config (配置)
該檔案包含你的倉庫配置,比如遠端的 url ,你的郵箱和使用者名稱等。每次你在控制檯使用 git config... 都會對這裡產生影響。
description(描述)
供 gitweb ( github 的一種前身) 使用,顯示倉庫的描述。
hooks (鉤子)
這是一個有趣的特性。Git 提供了一套指令碼,可以在每個有意義的 Git 階段自動執行。這些被稱為鉤子的指令碼可以在提交 (commit)、變基 (rebase)、拉取 ( pull ) 操作的前後執行。指令碼命預示著它的執行時機。如我們可以編寫 pre-push 的作為鉤子,進行推送程式碼前的檢查。
info (資訊)
你可以將不想被 git 管理的檔案記錄到 .gitignore 檔案中。排除檔案的意思是不想共享這個檔案。例如你不想共享你的 IDE 自定義配置,將其新增到 .gitignore 檔案中即可
當你透過 git init 建立 git 倉庫時, git 就會建立 .git 目錄。該目錄包含讓 git 能夠正常工作所需的所有資訊。直白點說,如果你不想在專案中繼續使用 git ,直接將 .git 目錄刪除只保留專案檔案即可。但是為什麼這樣做就可以呢?
下面是你第一次提交後 .git 資料夾的樣子:
├── HEAD
├── branches
├── config
├── description
├── hooks
│ ├── pre-commit.sample
│ ├── pre-push.sample
│ └── ...
├── info
│ └── exclude
├── objects
│ ├── info
│ └── pack
└── refs
├── heads
└── tags
HEAD
後面再講。
config (配置)
該檔案包含你的倉庫配置,比如遠端的 url ,你的郵箱和使用者名稱等。每次你在控制檯使用 git config... 都會對這裡產生影響。
description(描述)
供 gitweb ( github 的一種前身) 使用,顯示倉庫的描述。
hooks (鉤子)
這是一個有趣的特性。Git 提供了一套指令碼,可以在每個有意義的 Git 階段自動執行。這些被稱為鉤子的指令碼可以在提交 (commit)、變基 (rebase)、拉取 ( pull ) 操作的前後執行。指令碼命預示著它的執行時機。如我們可以編寫 pre-push 的作為鉤子,進行推送程式碼前的檢查。
info (資訊)
你可以將不想被 git 管理的檔案記錄到 .gitignore 檔案中。排除檔案的意思是不想共享這個檔案。例如你不想共享你的 IDE 自定義配置,將其新增到 .gitignore 檔案中即可