git提交忽略檔案或資料夾
在專案根目錄下面 新增 .gitignore檔案
檔案中每一行表示需要忽略的檔案的正則表示式。
.gitignore檔案過濾有兩種模式,開放模式和保守模式
1. 開放模式負責設定過濾哪些檔案和資料夾
例如: /target/ 表示專案根目錄下的target資料夾裡面所有的內容都會被過濾,不被GIT 跟蹤
.classpath 表示專案根目錄下的.classpath檔案會被過濾,不被GIT跟蹤
2. 保守模式負責設定哪些檔案不被過濾,也就是哪些檔案要被跟蹤。
例如:
!/target/*.h 表示target資料夾目錄下所有的.h檔案將被跟蹤
如果你不清楚GIT會跟蹤哪些檔案,你可以先用git status命令檢視一下
C程式碼
- $git status
- # On branch master
- # Untracked files:
- # (use "git add <file>..." to include in what will be committed)
- #
- # .metadata/
- # gitignore
像這樣的話,就是.metadata資料夾和gitignore被跟蹤。
另外別忘記了在.gitignore檔案中加入一行.gitignore,否則的話.gitignore將會被傳到GIT伺服器上
規則寫法
1. 在已忽略資料夾中不忽略指定資料夾
/node_modules/*
!/node_modules/layer/
2. 在已忽略資料夾中不忽略指定檔案
/node_modules/*
!/node_modules/layer/layer.js
【注意項】注意寫法 要忽略的資料夾一定要結尾 /* ,否則不忽略規則將無法生效
3. 其他規則寫法 (附)
以斜槓“/”開頭表示目錄;
以星號“*”通配多個字元;
以問號“?”通配單個字元
以方括號“[]”包含單個字元的匹配列表;
以歎號“!”表示不忽略(跟蹤)匹配到的檔案或目錄;
1、忽略檔案
*.bak # 忽略所有副檔名為.bak的檔案
!keep.bak # 但keep.bak檔案除外(不會被忽略)
temp/test.txt # 忽略temp目錄下的test.txt檔案
temp/*.txt # 忽略temp目錄下所有副檔名為.txt的檔案
2、忽略目錄
temp/ # 忽略temp目錄下的所有目錄和檔案
temp/*/ # 忽略temp目錄下的所有目錄,但不會忽略該目錄下的檔案