在仓库目录下新建一个名为.gitignore的文件(因为是点开头,没有文件名,没办法直接在windows目录下直接创建,必须通过右键Git Bash,按照linux的方式来新建.gitignore文件)。如下图所示。
.gitignore文件对其所在的目录及所在目录的全部子目录均有效。通过将.gitignore文件添加到仓库,其他开发者更新该文件到本地仓库,以共享同一套忽略规则。
以下涉及的ignore文件均为如下格式:
# 以'#'开始的行,被视为注释. # 忽略掉所有文件名是 foo.txt的文件. foo.txt # 忽略所有生成的 html文件, *.html # foo.html是手工维护的,所以例外. !foo.html # 忽略所有.o和 .a文件. *.[oa]
配置语法:
以斜杠“/”开头表示目录;
以星号“*”通配多个字符;
以问号“?”通配单个字符
以方括号“[]”包含单个字符的匹配列表;
以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;
常用的规则:
1)/mtk/ 过滤整个文件夹
2)*.zip 过滤所有.zip文件
3)/mtk/do.c 过滤某个具体文件
被过滤掉的文件就不会出现在git仓库中(gitlab或github)了,当然本地库中还有,只是push的时候不会上传。
需要注意的是,gitignore还可以指定要将哪些文件添加到版本管理中:
1)!*.zip
2)!/mtk/one.txt
唯一的区别就是规则开头多了一个感叹号,Git会将满足这类规则的文件添加到版本管理中。
为什么要有两种规则呢?想象一个场景:假如我们只需要管理/mtk/目录中的one.txt文件,这个目录中的其他文件都不需要管理,那么我们就需要使用:
1)/mtk/
2)!/mtk/one.txt
假设我们只有过滤规则,而没有添加规则,那么我们就需要把/mtk/目录下除了one.txt以外的所有文件都写出来!
最后需要强调的一点是,如果你不慎在创建.gitignore文件之前就push了项目,那么即使你在.gitignore文件中写入新的过滤规则,这些规则也不会起作用,Git仍然会对所有文件进行版本管理。
简单来说,出现这种问题的原因就是Git已经开始管理这些文件了,所以你无法再通过过滤规则过滤它们。因此一定要养成在项目开始就创建.gitignore文件的习惯,否则一旦push,处理起来会非常麻烦。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 与非门.2010-10乐园【中唱】【WAV+CUE】
- 崩坏星穹铁道2.2枪火的试炼怎么解锁 枪火试炼隐藏挑战攻略
- 崩坏星穹铁道2.2时间的试炼怎么解锁 时间试炼隐藏挑战攻略
- dnf纳瑟乌森林怎么去
- 群星-阿里郎故乡三韵-2011-WAV分轨
- 王力宏《力宏二十二十周年唯一精逊【Hi-Res】24-96FLAC
- DanielLozakovich-Tchaikovsky_NonebuttheLonelyHeart(2019)【Hi-Res】24bit-96kHz【flac】
- 《COD》新作会首发加入XGP吗?Xbox总裁回应
- 《消逝的光芒》玩家数量飙升330%!游戏打折立大功
- 美女COS《鬼泣5》妮可:魅惑吐舌 狂气爆棚
- SupperMoment2010-旅程【东亚唱片】【FLAC分轨】
- 群星.1997-华星廿五周年精选系列·四大女后18首【华星】【WAV+CUE】
- 许佳琪.2024-4.Letters.Long(坠)【丝芭文化】【FLAC分轨】
- 前《地狱潜者2》首席编剧:最初它并不是实时服务游戏
- 《生化危机》官推庆祝母亲节:视频中母爱扑面而来