文件储存管理相关
文件管理
文件管理使用白名单模式,并采用分级制的方式来存放.gitignore文件,即在每一级文件夹下都存放有一个.gitignore文件,用于管理当前路径下的文件与文件夹。这样做的好处是每一个.gitignore文件内的内容都一目了然,避免臃肿。
特例
只需管理某个子文件夹下的单个或少量文件时,无需再在子文件夹内创建一个新的.gitignore文件,可直接写到父文件夹的.gitignore内。
(eg: config/inventoryprofilesnext内的inventoryprofiles.json文件,其管理代码直接写在config/.gitignore内)
在仓库根目录下存放着的.gitignore文件,其第1行的内容为/*,作用就是将整个仓库设置为白名单模式,避免垃圾文件被上传。
将文件夹设为白名单文件夹
我们举例父文件夹叫minecaft,子文件夹叫config,然后在minecraft下新建.gitignore文件(如果不存在),打开并写入以下内容:
!config/
config/*这样就可以将config文件夹设为白名单模式了,日后只需将修改过的配置文件写入.gitignore即可上传至仓库。
为什么要这样写: 第一行代码将config文件夹及其下属内容加入到白名单中,而第二行则屏蔽了所有下属内容 —— 即先全放进来,然后再从中筛选需要的。
两行代码缺一不可,如果不执行这样一步操作,那么当你想将config内的文件加入白名单时,不会有任何效果。
将文件(夹)加入白名单
以config为父文件夹,abc.json为子文件举例。确保完成上一步操作后,我们在config下新建一个.gitignore文件(如果不存在),打开并写入以下内容:
!abc.json若想将整个文件夹及其内部所有附属文件添加到白名单,我们以abc文件夹为例,写入以下内容:
!abc/若想将abc文件夹下的少量或单个文件加入白名单,我们以其内部的xyz.json为例,写入以下内容:
!abc/
abc/*
!abc/xyz.json.gitignore中的书写规范
开头使用#符号即把此行标注为注释,不生效。注释下属的内容尽量按照字母顺序进行排列,方便上传的文件出问题时进行排查。
将文件夹设置为白名单时,最好将相关代码置于#folder注释下的最上方;将存放于子文件夹下的文件写入.gitignore时也应遵守此规则,即置于#files注释下的最上方。具体例子可在config/.gitignore中查看,Inventory Profile Next模组的配置文件管理代码便是采用这种书写方式。