.gitignore文件的作用
.gitignore文件用來忽略被指定的文件或文件夾的改動,被記錄在.gitignore文件里的文件或文件夾,是無法被git跟蹤到的,換句話說,被忽略的文件是不會被放入到遠程倉庫里的。
也就是說,如果文件已經存在於遠程倉庫中,是無法通過.gitignore文件來忽略的。
.gitignore文件存放於git倉庫的根目錄下。
.gitignore文件的語法
- 注釋
"#" 表示注釋,如下:
# Here is comment.
- 忽略文件/文件夾
直接寫入文件或文件夾名即可,指定文件夾里的所有文件也會一起被忽略,如下:
# ignore target folder
target/
# ignore Eclipse files
.settings/
build/
.classpath
.project
- 不忽略文件/文件夾
"!" 表示不忽略指定的文件,如下:
# don't ignore src folder
!src/
- 在指定文件夾里不忽略指定的文件
通過 "!" 可以實現更加有意思的用法,如下:
# ignore scaffolds folder, but don't ignore draft.md under scaffolds folder.
scaffolds/*
!scaffolds/draft.md
注意:這里必須在文件夾后面加上/*,否則是無法實現想要的效果的。
- 使用通配符及其他符號
可以使用通配符及其他符號來指定復雜條件的文件,如下:
*.log
day_1?.txt
hello[0-9].txt
"-" 表示匹配任意字符;
"?" 表示匹配一個字符;
"[]" 表示匹配中括號內的單個字符:
可以使用-來表示連貫的字符,比如0-9,a-z,A-Z等,[0-9]表示匹配從0到9的單個字符。
可以使用來表示除外,比如[0-9]表示除0到9之外的單個字符。
.gitignore文件的作用域與優先級
.gitignore文件的作用范圍是:文件所在目錄及其所有子目錄
優先級:如果根目錄與其子目錄下同時存在一個.gitignore文件設置了對某一文件忽略,與提交兩種模式:
次級目錄(子目錄)文件中定義的模式優先於較高級(根目錄)目錄中的模式