在項目根目錄下面 添加 .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目錄下的所有目錄,但不會忽略該目錄下的文件