Git Ignore:排除檔案的完整指南

更新日期: 2024 年 12 月 9 日

在使用 Git 進行版本控制時,並非所有檔案都需要加入儲存庫。

一些特定的檔案,例如暫存檔、環境設定檔或第三方依賴,通常只與本地開發相關,不需要與其他開發者共享。

這時候,我們可以使用 .gitignore 檔案來排除這些檔案。

本文將為新手介紹如何設定 .gitignore,並列出常見需要排除的檔案類型,幫助您更有效地管理專案。


什麼是 .gitignore

.gitignore 是一個特殊的檔案,放置於 Git 儲存庫的根目錄中,用來指定哪些檔案或目錄應該被 Git 忽略。

當 Git 執行版本控制時,會根據 .gitignore 中的規則自動排除符合條件的檔案。

為什麼需要 .gitignore

  1. 減少專案雜亂
    排除不必要的檔案,使儲存庫保持簡潔,方便管理。
  2. 保護敏感資訊
    防止上傳含有敏感資訊的檔案(如 API 金鑰、密碼設定檔)。
  3. 提高專案效能
    排除無用的檔案或目錄(如第三方依賴),減少版本控制的負擔。

常見需要排除的檔案

以下是幾類常見應該排除的檔案或目錄:

1. 資料庫檔案

  • 原因:資料庫檔案通常很大且僅與本地開發環境相關。
  • 範例db.sqlite3

2. 虛擬環境檔案

  • 原因:虛擬環境包含依賴程式庫,其他開發者可通過環境設定檔自行建立環境。
  • 範例venv/

3. 第三方依賴

  • 原因:如 Node.js 的 node_modules 目錄,包含大量第三方模組,會佔用大量空間且可通過依賴檔重建。
  • 範例node_modules/

4. 編譯檔與暫存檔

  • 原因:這些檔案通常是編譯過程的產物,會隨著專案重新編譯而變化,無需版本控制。
  • 範例*.log *.tmp *.cache

5. 個人設定檔

  • 原因:如編輯器設定檔(VSCode 或 IntelliJ IDEA),這些檔案與開發者的個人環境相關,無需共享。
  • 範例.vscode/ .idea/

6. 作業系統產生的檔案

  • 原因:這些檔案是作業系統的臨時檔案,對專案沒有意義。
  • 範例.DS_Store # macOS Thumbs.db # Windows

如何建立 .gitignore

  1. 在專案根目錄建立一個名為 .gitignore 的檔案:
touch .gitignore
  1. 在檔案中新增要忽略的規則:
# 排除資料庫檔案
db.sqlite3

# 排除虛擬環境
venv/

# 排除第三方依賴
node_modules/

# 排除日誌檔案
*.log

.gitignore 的規則範例

範例描述
*.log忽略所有 .log 結尾的檔案。
/debug.log僅忽略專案根目錄下的 debug.log
build/忽略整個 build 目錄。
!important.log強制追蹤 important.log,即使被排除。
*.tmp忽略所有 .tmp 檔案。
.env忽略環境變數檔案。

小結

.gitignore 是專案中不可或缺的工具,能幫助您有效管理檔案並保護儲存庫的整潔。通過排除不必要的檔案,您可以專注於管理專案的核心內容,避免敏感資訊洩漏。

建議在專案初期就設定 .gitignore,並根據專案需求定期更新。希望本文能幫助您更好地理解和使用 .gitignore

Similar Posts