全局gitignore配置作用是什么?设置后还需项目级gitignore吗?
配置全局忽略文件后是否需要为单个项目单独创建.gitignore
需要,两者的适用场景完全不冲突:
- 你设置的全局
core.excludesfile对应的全局.gitignore,仅适用于你本地开发环境的通用忽略规则,比如本地编辑器的.vscode/、.idea/配置目录,系统生成的Thumbs.db、.DS_Store缓存文件等,这类规则是你所有本地项目通用、和具体项目无关的内容。 - 每个项目单独的.gitignore需要存放和项目技术栈、业务规则绑定的统一忽略规则,比如前端项目的
node_modules/、Java项目的target/、Python项目的__pycache__/、项目本地私有配置.env等,这类规则需要所有参与项目的开发人员统一遵守,必须跟着项目仓库提交同步,所以必须放在项目级的.gitignore里,不能放到全局配置里。
是否可以实现全局忽略文件的动态自动更新
Git本身没有内置全局忽略文件的自动更新能力,但可以根据你的需求实现对应效果:
- 如果你是指本地修改全局.gitignore后自动生效:Git每次校验文件忽略规则时都会实时读取你配置的全局文件内容,你修改保存该文件后无需执行任何额外命令,规则会立刻生效。
- 如果你是指多设备同步全局忽略规则、自动拉取最新版本:可以将你的全局.gitignore文件托管到私人Git仓库中,再通过定时任务(Windows可配置计划任务、mac/Linux可配置crontab)定期拉取仓库最新内容覆盖本地的
%USERPROFILE%\.gitignore文件即可。
注意:不要将项目专属的忽略规则写入全局配置,否则只会在你本地生效,其他未配置对应规则的项目参与者仍会提交无关文件到仓库。
内容的提问来源于stack exchange,提问作者Christopher
相关产品推荐
相关产品推荐

