1. 程式人生 > >git提交忽略文件或文件夾

git提交忽略文件或文件夾

ping 文件的 寫法 服務器 nac 單個 ... .class layer

在項目根目錄下面 添加 .gitignore文件

文件中每一行表示需要忽略的文件的正則表達式。

.gitignore文件過濾有兩種模式,開放模式和保守模式

1. 開放模式負責設置過濾哪些文件和文件夾

例如: /target/ 表示項目根目錄下的target文件夾裏面所有的內容都會被過濾,不被GIT 跟蹤

.classpath 表示項目根目錄下的.classpath文件會被過濾,不被GIT跟蹤

2. 保守模式負責設置哪些文件不被過濾,也就是哪些文件要被跟蹤。

例如:

!/target/*.h 表示target文件夾目錄下所有的.h文件將被跟蹤

如果你不清楚GIT會跟蹤哪些文件,你可以先用git status命令查看一下

C代碼

  1. $git status
  2. # On branch master
  3. # Untracked files:
  4. # (use "git add <file>..." to include in what will be committed)
  5. #
  6. # .metadata/
  7. # 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目錄下的所有目錄,但不會忽略該目錄下的文件

git提交忽略文件或文件夾