.gitignore介绍
在使用Git时,我们有时候并不需要将所有文件都保存到版本库中的,像一些依赖文件比较大的话,我们就可以不添加到版本库,减少占用仓库空间,比如Java下的target目录下的的.class文件。在Git的工作区根目录下有一个.gitignore文件,用于标记需要忽略添加到版本库的文件或目录。
一些常见忽略的例子:
- vscode自动创建的.vscode文件
- 前端安装依赖生成的巨大的node_modules文件夹
- Electron打包生成的build文件夹
- IDE 自动生成的.idea文件
- 隐私文件,例如密码配置文件之类。
.gitignore忽略规则
.gitignore文件内匹配到的文件在提交时会被忽略掉(忽略的文件不会被提交到仓库)
| 字符 | 备注 |
|---|---|
| / | 表示目录 |
| * | 匹配多个字符 |
| ? | 匹配单个字符 |
| [] | 包含单个字符的匹配列表 |
| ! | 不匹配该目录或文件 |
| # | 注释,不做匹配 |
| \ | 转义,比如用于转义#,eg:# |
实战
下面是一个Hexo的项目:
yaml
.DS_Store
Thumbs.db
*.log
node_modules/
public/
.deploy*/
.deploy_git*/
.idea
.vscode
themes/butterfly/.git
!source
**/test
#这是注释
规则解释
| 规则 | 备注 |
|---|---|
| .DS_Store | 忽略根目录的.DS_Store文件 |
| .vscode | 忽略根目录的.vscode文件 |
| .deploy*/ | 忽略根目录前缀为.deploy的文件夹所有内容 |
| .deploy_git*/ | 忽略根目录前缀为.deploy_git的文件夹所有内容 |
| .idea | 忽略根目录的.idea文件 |
| *.log | 忽略后缀为.log的全部文件 |
| node_modules/ | 忽略根目录下的node_modules文件夹所有文件 |
| public/ | 忽略根目录下的public文件夹所有文件 |
| themes/butterfly/.git | 忽略根目录下的themes/butterfly/.git文件夹所有文件 |
| !source/ | 根目录source文件夹不匹配,也就是source文件夹一定会提交到Git仓库 |
| **/test | 表示在根目录下的任何子目录为test的文件夹在提交时都会被忽略 |
| #这是注释 | 单纯只是注释,没有任何语义 |
本文是原创文章,采用 CC BY-NC-SA 4.0 协议,完整转载请注明来自 小码同学
评论
隐私政策
0/500
滚动到此处加载评论...

