iT邦幫忙

2025 iThome 鐵人賽

DAY 6
0
Modern Web

Git 起來!每日一招學起來系列 第 6

Day 6:.gitignore —— 別讓垃圾檔案跟你回家

  • 分享至 

  • xImage
  •  

今天我們來點相對輕鬆、好理解的話題~

前幾天我們學了怎麼 git addgit commit,把檔案存進歷史紀錄。

但這時候你可能會發現一個問題:

👉 為什麼一堆奇怪的檔案也被 Git 跟著記錄了?

例如:

  • node_modules/:安裝的套件超大一包
  • dist/build/:編譯出來的檔案根本可以重生
  • .env:裡面放著不能外流的密碼
  • .DS_StoreThumbs.db:作業系統偷偷加的垃圾檔

如果這些東西被 commit 上去,不只會拖慢專案,甚至還可能造成資安危機。

這時候 .gitignore 就能幫你解決問題!


什麼是 .gitignore

.gitignore 是一個設定檔,用來告訴 Git:

「這些檔案或資料夾不要管它,別放進版本控制。」

就像你在打包行李的時候,會先把垃圾丟掉,不會把早餐紙袋也塞進行李箱。


基本用法

在專案根目錄新增一個檔案 .gitignore,內容像這樣:

# 忽略 node_modules 資料夾
node_modules/

# 忽略編譯出來的檔案
dist/
build/

# 忽略環境設定
.env

# 忽略系統垃圾檔
.DS_Store
Thumbs.db

之後再執行 git status,就會發現這些檔案自動消失,不會再出現在未追蹤清單裡。


進階規則

  • .log 👉 忽略所有 .log 結尾的檔案
  • secret/* 👉 忽略 secret 資料夾底下的所有檔案
  • !important.log 👉 反向規則,把 important.log 加回來

忘記加 .gitignore 怎麼辦?

假設你已經 commit 了 node_modules/,這時候 .gitignore 不會自動把它移掉。

因為檔案已經被追蹤了,要手動解除:

git rm -r --cached node_modules/

再 commit 一次,Git 才會真的不管它。


小挑戰 💪

  1. 在自己的專案裡加一個 .gitignore,忽略掉 node_modules/
  2. 新增一個測試檔案 debug.log,試試看 .log 的規則能不能把它忽略掉。
  3. 思考一下:為什麼 .env 這種檔案特別需要忽略?

小結

.gitignore 就像專案的「過濾網」,幫你把不該進歷史的東西擋在外面。

養成習慣一開始就設定好 .gitignore,不但讓專案更乾淨,也能避免不小心把敏感資料外流。


上一篇
Day 5:git reset vs. git restore —— 後悔藥怎麼吃?
下一篇
Day 7:git branch —— 認識平行時空
系列文
Git 起來!每日一招學起來9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言