Git ignore意思

.gitignore 檔案是 Git 中的一個配置檔案,用於告訴 Git 忽略某些檔案和目錄,這些檔案和目錄將不會被跟蹤、添加到倉庫或者在 git status 命令中顯示。這個檔案可以包含檔案模式(patterns),這些模式用於匹配要忽略的檔案。

例如,如果你有一個 .gitignore 檔案,其中包含以下行:

# 忽略所有 .a 檔案
*.a

# 但不要忽略 lib.a,可能會有人真的想添加它
!lib.a

# 忽略所有 log 目錄,但允許子目錄 logs/debug
logs/
!logs/debug/

# 忽略所有 .o 檔案
*.o
*.so

# 忽略所有 .a 檔案,但允許 lib.a
!lib.a

# 忽略所有 .檔案,但允許 README.txt
*.txt
!README.txt

# 忽略所有 .DS_Store 檔案
.DS_Store

那麼,當你運行 git status 時,所有匹配上述模式的檔案和目錄將不會被顯示。這通常用於排除編譯生成的檔案、日誌檔案、配置檔案或者其他不需要放入版本控制系統的檔案。

.gitignore 檔案可以放在項目的根目錄中,也可以放在子目錄中,以忽略特定目錄中的檔案。檔案的模式遵循標準的 Unix shell 模式匹配規則,包括通配符(如 * 匹配任意數量的任意字元,? 匹配一個任意字元)和否定模式(如 ! 用於否定前面的模式)。

需要注意的是,.gitignore 檔案只能忽略那些尚未被 Git 跟蹤的檔案。如果一個檔案已經被 Git 跟蹤,那麼你需要使用 git rm --cached <file> 命令來停止跟蹤該檔案,然後提交這個更改(git commit -m "remove file from version control")。