.gitignore 是一个可以帮助我们忽略Git跟踪的文件或目录的配置文件。这样做可以帮助我们保持.git目录的整洁,避免不必要的文件上传到远程仓库,也可以帮助我们更好地管理自己的项目。
一. gitignore 基本语法
-
注释:任何以井号(#)开头的行都会被认为是注释,Git会忽略这些行。
-
空行 :空行会被Git忽略,通常用于增加文件的可读性。
-
匹配文件名:可以使用简单的文件名或路径匹配规则来指定要忽略的文件和目录。
- 星号(*):匹配零个或多个任意字符。
- 问号(?):匹配任意一个字符。
- 方括号([]):匹配指定范围内的任意一个字符。
- 双星号(**):匹配任意数量的目录。
- 斜杠(/):用于指定目录的分隔符,或用于指定只匹配当前目录下的文件或文件夹。
- 感叹号(!):用于排除某个规则,即取反匹配。
-
目录匹配:在文件名后面加上斜杠(/)可以指定要忽略的目录。
-
例外规则:在规则前加上感叹号(!)可以指定不忽略的文件或目录。
示例
假设你有一个项目,想要忽略以下文件和目录:
- 所有的
.log
文件 node_modules
目录logs
目录及其内容- 所有
.DS_Store
文件 - 所有以
temp
开头的文件,但不想忽略important.txt
你的.gitignore 文件配置如下:
bash`# 忽略所有 .log 文件
*.log
# 忽略 node_modules 目录
node_modules/
# 忽略 logs 目录及其内容
logs/
# 忽略所有 .DS_Store 文件
**.DS_Store
# 忽略所有以 temp 开头的文件
temp*
# 但不忽略 important.txt
!important.txt`
注意:.gitignore 文件必须放在Git仓库的根目录中,或放在任何子目录中以定义该目录特定的忽略规