關於 .gitignore


Posted by hoyi-23 on 2021-08-14

有些比較機密的檔案不想放在 Git 裡面一起備份,例如資料庫的存取密碼或是 AWS 伺服器的存取金鑰,或有時候一些程式編譯的中間檔或暫存檔,每編譯一次就等於產生一次新的檔案,對專案來說通常沒有實質的利用價值的檔案,像這樣的檔案不想讓它進到 Git 裡。

要做到這件事,只要在專案目錄裡放一個 .gitignore 檔案,並且設定想要忽略的規則就行了。

建立 .gitignore 檔案

touch .gitignore

撰寫檔案

要忽略的檔案

假設不想讓node_module檔案進入git,直接想上名字就可。
node_module

忽略 config 目錄下的某個檔案

config/datafile

忽略所有 db 目錄下附檔名是 .sqlite3 的檔案

/db/*.sqlite3

忽略所有附檔名是 .tmp 的檔案

*.tmp

要忽略自己也可以,只是通常不會這麼做

.gitignore
只要 .gitignore 這個檔案存在,即使這個沒被 Commit 或是沒被 Push 上 Git Server 一樣會有效果。但這個檔案會建議 Commit 進專案並且推上 Git Server,這樣一來整個專案一起開發的人可以共享相同的設定。


常見的各種忽略:

不同程式檔案常見的各種忽略
https://github.com/github/gitignore


特別注意:

若檔案在.gitignore存在前已經存在,不會被忽略到。
.gitignore檔案設定的規則,只對在規則設定之後的有效,那些已經存在的檔案就像既得利益者一樣,這些規則是對他們沒有效果的。

如果想套用 .gitignore 的規則,就必須先使用 git rm --cached 指令把這些既得利益者請出 Git,移出 Git 控管之後,它就會開始會被忽略了。

如果想要一次清除那些已經被忽略的檔案,可以使用 git clean 指令並配合 -X參數:

$ git clean -fX
那個額外加上的 -f 參數是指強制刪除的意思,這樣一來就可清除那些被忽略的檔案。


#gitignore







Related Posts

指定安裝程式版本號

指定安裝程式版本號

【Day06】Vue-cli & Vuex mapState

【Day06】Vue-cli & Vuex mapState

[Py 百日馬 Day 3] 用 if / elif / else 見機行事

[Py 百日馬 Day 3] 用 if / elif / else 見機行事


Comments