Git
在提交到版本控制庫的時候,應該對這些項目文件,進行過濾(使用 GIT 做 SCM 時,過濾文件位于項目根目錄,名稱為 .gitignore)。
.gitignore
# filter eclipse file
*.classpath
*.project
# filter eclipse dir
/.settings/
# filter idea file
*.iml
#filter idea dir
/.idea/
IDE 方言的項目文件
Eclipse : dir - .settings, files - .classpath .project
IntelliJ : dir - .idea, file 項目同名的 .iml
-
git 創建 .gitignore 文件 建立項目過濾規則
創建 .gitignore 設置跟蹤和不跟蹤那些文件
- 在項目根目錄下建立 .gitignore 文件
- .gitignore文件過濾有兩種模式,
開放模式
和保守模式
-
格式規范
所有空行或者以注釋符號 # 開頭的行都會被 Git 忽略。 可以使用標準的 glob 模式匹配。 匹配模式最后跟反斜杠(/)說明要忽略的是目錄。 要忽略指定模式以外的文件或目錄,可以在模式前加上驚嘆號(!)取反。 先編寫開放模式,在編寫保守模式,要不然,開放模式的規則會把保守模式的規則給覆蓋了。 # 配置語法 以斜杠“/”開頭表示目錄; 以星號“*”通配多個字符; 以問號“?”通配單個字符 以方括號“[]”包含單個字符的匹配列表; 以嘆號“!”表示不忽略(跟蹤)匹配到的文件或目錄;
-
開發模式負責設置過濾那些文件和文件夾
eg: # filter dir setting, 表示過濾這個文件夾 /mtk/ /target/ # filter file setting, 指定過濾某種類型的文件 *.zip *.rar *.via *.tmp *.err # 指定過濾某個文件 /mtk/do.c /mtk/if.h
-
保守模式負責設置那些文件[要被跟蹤]不被過濾
eg: # not filter dir setting, 跟蹤某個文件夾 !/pluto/mmi # not filter file setting, 跟蹤某類文件 !*.c !*.h # 跟蹤某個指定文件 !/pluto/mmi/features.h
-
config .gitignore simple rule
[開放模式與保守模式結合配置] eg: # 一個文件夾下有很多文件夾和文件,而只想跟蹤其中的一個文件 /pluto/mmi/ !/pluto/mmi/features.h
-
-
強調
最后需要強調的一點是,如果你不慎在創建.gitignore文件之前就push了項目,那么即使你在.gitignore文件中寫入新的過濾規則,這些規則也不會起作用,Git仍然會對所有文件進行版本管理。
簡單來說,出現這種問題的原因就是Git已經開始管理這些文件了,所以你無法再通過過濾規則過濾它們。
所以大家一定要養成在項目開始就創建.gitignore文件的習慣,否則一旦push,處理起來會非常麻煩。