Git中如何忽略文件及文件夹的版本跟踪
Git 忽略文件/文件夹版本跟踪配置方法
.gitignore是Git原生支持的忽略规则配置文件,把需要忽略的文件、文件夹匹配规则写在这个文件里,Git会自动跳过对应内容的版本检测,不需要逐次手动执行删除跟踪的操作。
基础规则写法
把.gitignore文件放在仓库根目录即可生效,常用规则如下:
- 忽略单个指定文件:直接写文件相对路径或文件名,例如
debug.log、config.local.php,所有层级路径下匹配到的同名文件都会被忽略 - 忽略指定文件夹:文件夹路径末尾必须加斜杠
/,例如忽略全仓库所有依赖目录就写node_modules/,忽略src目录下的缓存文件夹就写src/cache/,忽略所有层级的构建产物目录写dist/即可 - 通配符匹配:
*.tmp匹配所有.tmp后缀的文件,temp-*匹配所有temp-开头的文件,!keep.tmp是例外规则,表示前面规则命中的keep.tmp文件不要忽略,需要纳入跟踪
以上规则配置完成后,所有从来没有被git add提交到版本库的匹配文件,会自动被Git忽略,不需要额外执行命令。
处理已经被纳入版本跟踪的文件/文件夹
.gitignore规则只对未进入Git跟踪列表的文件生效,如果你要忽略的内容之前已经被提交跟踪过,不需要逐次手动操作,执行一次缓存清理命令即可:
- 取消单个文件的跟踪(本地文件不会被删除,仅移除Git的跟踪记录):
git rm --cached 目标文件路径 - 取消整个文件夹的跟踪:
git rm -r --cached 目标文件夹路径/
执行完上述命令后,把对应的忽略规则追加到.gitignore文件中,提交变更即可:
git add .gitignore git commit -m "chore: update git ignore rules"
提交完成后,对应文件/文件夹后续的修改就不会再被Git检测到,不需要重复操作。
注意:执行
git rm时必须带--cached参数,如果不带这个参数,会直接把你本地存储的对应文件/文件夹一起删除,容易造成本地数据丢失。
内容的提问来源于stack exchange,提问作者Hans
相关产品推荐
相关产品推荐

