常用的情況如下:
因此 .gitigonore 檔案就是來解決以上的困擾,在專案目錄裡新增 .gitigonore 檔案,設定想要忽略的規則。
.gitignore
- 請 Git 忽略掉一些對專案不必要的檔案,將此不被紀錄。會設定規則來匹配符合的檔案。
⚠️ 規則符合的檔案如果是在 .gitignore
建立前已被追蹤,則不受 gitignore
規則影響。
.gitignore 的作用域
gitignore 規則定義在哪個檔案中取決於該規則的作用域
.gitignore
檔案都可另外定義內容。GitHub 上有整理一份個程式語言常見的 .gitignore
範例,如果對於還不清楚哪些檔案需要加到 .gitignore
的話,可以參考這個專案。
網址:https://github.com/github/gitignore
🛠 實際操作
新增示範目錄(example)及檔案(index.html)
$ mkdir example # 在 git_practice 資料夾裡新增一個 example 目錄
$ cd example # 進入 example 目錄裡
$ git init # 建立數據庫
$ touch index.html # 建立一個 index.html 檔案
查看當前檔案狀態
$ git status # 檢查檔案狀態
狀態顯示為:Untracked files
- 尚未被 Git 追蹤
新增 .gitignore 檔案,並檢查狀態
$ touch .gitignore # 新增 .gitignore 檔案
$ git status # 檢查檔案狀態
可以看到 .gitignore 、 index.html 檔案都是不被追蹤的狀態。
⚠️ .gitignore 是不會自己忽略自己的喔!
補充:git init 會在目錄下新增一個 .git 目錄讓 Git 版本控制
貼心提醒:Shift
+Command
+.
三鍵同時按下即可看到被隱藏的檔案唷!
還沒制定規則之前,可以先嘗試手動將 index.html 檔案加入 .gitignore 檔案後存擋(command + s)。並查看狀態。
即使被忽略,工作目錄上依然看得到檔案。
檢查狀態可以發現只剩下 .gitignore,index.html 已被 Git 忽略掉了。
除了單一寫檔名以外,我們也可以針對我們各種需求去制定想要忽略掉的規則,將這些規則寫在.gitignore
的檔案裡就可以了。以下示範幾個規則:
*
(全部)、.附檔名
、目錄名稱/
只要符合以上規則的檔案都會被 Git 自動忽略掉。
若我們將 .gitignore 刪除,那麼這些檔案就會重回到 Untracked files
🤔 如有符合規則的忽略檔案,但是想要將他加進 GIt,可以怎麼做呢?
$ git add -f 檔案名稱
// -f 參數為強制刪除的意思,同等於 --force
如此一來就可以強制 add 被忽略的檔案。
🤔 如何清除被忽略的檔案
一口氣清除已經被忽略掉的檔案:git clean
指令並配合 -x
參數 。
$ git claen -fx #強制清除已被忽略的檔案
// -f 參數為強制刪除的意思,同等於 --force