持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第12天,点击查看活动详情
前言
在日常的开发中,一般项目中都会有一个文件,那就是.gitignore,如下图:
那它到底有什么用呢?又是如何使用它的呢?下面来一一解答。
.gitignore的作用
在项目中有时候我们项目中的东西并不一定是都要上传到远程仓库的,这里以vue项目为例,比如依赖文件夹node_modules、打包生成的文件夹dist,还有一些日志文件yarn-debug.log*,yarn-error.log*,又或者是一些本地的配置,这些东西都是不需要上传到远程仓库的,而.gitignore就是用来忽略这些文件的,只要在.gitignore文件中写上你不需要上传远程仓库的文件名他们就不会上传到远程仓库,如下图:
可以看到在.gitignore文件中注释是以#开头的,然后需要忽略上传的文件直接写文件名称就可以了。
.gitignore中的规则
- 如果你直接写了一个名称,那么默认会忽略掉所有名称相同的文件夹或者文件名,注意这里是忽略到所有名称相同的内容,是不分路径的(比如说你写入了testFolder,那么不论是testFolder文件,src/testFolder,src/test/testFolder,这些都是会被忽略上传的),所以用的时候一定要慎用。
- 在.gitignore中可以进行反向操作,也就是加'!',比如说!testFolder/,那么它表示的意思就是,如果文件中有testFloder的文件或者文件夹都会忽略,但testFolder作为最上层目录的的文件夹不会忽略。
- 如果你只想忽略目录,那你只要写成testFolder/就可以了,因为文件是不会有下级的
- 在.gitignore中还可以使用通配符,*表示匹配多个字符,?表示匹配不是'/'外的一个字符,[]表示匹配中括号中的任意字符
- **表示多级的意思,比如src/**/testFolder表示的意思是,src/test/testFolder和src/test/util/testFolder下的testFolder都会被忽略。
- 空行不进行任何匹配
注意:.gitignore文件本身是可以上传到远程仓库的,也就是说同一个仓库中的用户可以用相同的.gitignore
总结
.gitignore还是很有用的,不仅可以减少传输到远端仓库的量,也可以管理你项目中任何不想和别人共享的部分。并且还不影响你本地的使用。