gitignore的相关用法
gitignore
.gitignore
是 git 用于管理需要忽略追踪的文件。.gitignore
一般用于远程仓库多人协作的场景,最常见的情况是,使用 MacOS 系统的程序员要在 .gitignore
中添加 .DS_Store
防止将其推送至仓库中。或在开发代码时,将调试文件忽略,使其不污染远程仓库的内容。
1. 添加忽略文件
.gitignore
可以将直接写文件名,也可以用 *
将所有后缀为某某的文件屏蔽。被忽略的文件在 git add
时,git 会自动忽略这些文件,使其不添加到版本控制中。
#确保文件的名字是.gitignore
.DS_Store #即可忽略.DS_Store文件
注意,
.gitignore
只影响未被 Git 跟踪的文件。如果某文件已被 Git 跟踪过,即使后来加入了.gitignore
,Git 仍然会继续追踪这个文件。
1.1 通配符语法
语法 | 说明 |
---|---|
* | 匹配 0 个或多个任意字符 |
? | 匹配单个字符 |
[abc] | 匹配 a 、b 或 c 中的任意一个 |
** | 匹配多层目录,例如 a/**/b 会匹配 a/b 、a/x/b 、a/x/y/b 等 |
示例:
*.log # 忽略所有 .log 文件
debug?.txt # 忽略 debug1.txt, debugA.txt 等
docs/**/*.pdf # 忽略 docs 下所有子目录中的 pdf 文件
1.2 忽略目录
要忽略整个目录,在目录名后加 /
:
node_modules/ # 忽略整个 node_modules 目录
build/ # 忽略 build 目录及其内容
2. 提交被忽略的文件
也可以在行首使用表示 !
不忽略某某文件。如果想要将被忽略的文件添加到版本控制中,不需要在 .gitignore
中删除内容 ,只需要使用 -f
选项就能强制对其进行添加:
git add -f [filename]
3. 全局 .gitignore 文件
如果有什么文件是你需要在所有仓库中都要忽略的,可以使用一个全局的 .gitignore
来管理:
git config --global core.excludesFile ~/.gitignore_global
这里的 core.excludesFile
是 Git 的一个配置项,~/.gitignore_global
是全局 .gitignore
文件的路径和文件名,可以更改成其他的路径和名字。
4. 其他命令
4.1 查看哪些文件被忽略
git status --ignored
4.2 查看文件是否被忽略
git check-ignore -v [filename]