最近研究了一下如何写gitignore。 需求,我想把所有项目中的go, mod,yaml, json, text文件包含在项目中,但是不想包含logs,polaris文件夹。在根的gitignore中可以这么写:
*
!*/
logs
polaris
!*.go
!*.yaml
!*.mod
解析:
第一行: *
,排除所有
第二行: !*/
,但是包含子文件夹。这一行非常重要,否则所有子目录的文件都没办法被git寻到。
第三行: 排除logs/polaris文件夹
第五行: !*.go
,包含go类型的文件夹。
这下,使用白名单的方式,就会很安心,很强大。再也不需要经常的修改gitignore的规则,也可以放心的git add .了。