.gitignore 忽略那些不該上傳的 Git 檔案

.gitignore 是在程式專案中,需要知道的知識點之一,就來看看這次我遇到甚麼問題吧!

前言

終於在幾個月的練習之下,開始學會 Git 版控 + 看 commit ,也因如此就想把每個步驟記錄下來,便於自己複習及寫註解,殊不知在本次練習完成後,在上傳時出現不可預期的 Debug 之類。

觀念

程式做開發時通常不會將 node_modules 諸如此類的檔案推上 Git,所以會透過 .gitignore 檔案來完成不要上傳特定檔案的目的。

  1. 新增 .gitignore 過濾條件後新增的檔案,符合規則 Git 就不會去追蹤。
  2. 新增 .gitignore 過濾條件前新增的檔案,沒有額外處理還是會被追蹤。

而本次主要會是以 2 為主的解決方案,再進行 1。

步驟

後新增

  1. 於專案根目錄新增 .gitignore 檔案。檔案前面有 . 是沒錯的,記得是新增至根目錄。

  2. 於檔案內新增需要忽略的檔案、資料夾等,並按存擋。

圖中因使用 mac 開發,所以有新增 .DS_store

  1. 進入終端機輸入 git status 查看,會發現紀錄只有新增一個檔案而已,而這就是因為先有 Git 紀錄才新增 .gitignore 檔案。

  2. 透過以下指令完成操作

    1
    2
    3
    4
    5
    6
    # 清除本機 Git 的快取,就是將所有檔案移除 Git 的追蹤,但沒有刪除檔案
    $ git rm -r --cached .
    # 重新加入 Git 追蹤,這時就會重新套入 .gitignore 設定
    $ git add .
    # 重新 commit ,並會忽略設定在 .gitignore 的檔案
    $ git commit -m 'update .gitignore'

大功告成 ! 剩下就是看你要不要 push 回 Github。

先新增

  1. git init
  2. 新增 .gitignore

參考資料:
.gitignore node 使用範本
git取消文件跟踪