Skip to content

游戏文件相关

文件管理

文件管理使用白名单模式,并采用分级制的方式来存放.gitignore文件,即在每一级文件夹下都存放有一个.gitignore文件,用于管理当前路径下的文件与文件夹。这样做的好处是每一个.gitignore文件内的内容都一目了然,避免臃肿。

特例

只需管理某个子文件夹下的单个或少量文件时,无需在子文件夹内创建一个新的.gitignore文件,可直接写到父文件夹的.gitignore内。(eg: config/inventoryprofilesnext内的inventoryprofiles.json文件,其代码直接写在config/.gitignore内)

在仓库根目录下存放着的.gitignore文件,其第1行的内容为/*,作用就是将整个仓库设置为白名单模式,避免垃圾文件被上传。

对于将每一级的文件(夹)添加至白名单,首先请保证你是在此仓库的环境下进行操作的,然后再参考以下内容。

将某一文件夹设为白名单文件夹

我们举例父文件夹叫minecaft,子文件叫config,然后在minecraft下新建.gitignore文件,打开并写入以下内容:

!config/
config/*

第一行代码将config文件夹及其下属所有内容加入到白名单中;第二行则屏蔽下属所有内容。二者缺一不可,如果不执行这样一步操作,那么当你想将config内的文件加入白名单时,不会有任何效果。

将某一文件(夹)加入白名单

以config为父文件夹,abc.json为子文件举例。确保完成上一步操作后,我们在config下新建一个.gitignore文件,打开并写入以下内容:

!abc.json

若想将整个文件夹及其内部所有附属文件添加到白名单,我们以abc文件夹为例,写入以下内容:

!abc/

若想将abc文件夹下的单个或少量文件加入白名单,我们以其内部的xyz.json为例,写入以下内容:

!abc/
abc/*
!abc/xyz.json

.gitignore中的书写规范

开头使用#符号即把此行标注为注释,不生效。注释下属的内容尽量按照字母顺序进行排列,方便出问题时进行排查。

我们仓库中所有的.gitignore文件中都含有#folders#files两个注释,分别代表文件夹和文件,在.gitignore中书写时请注意进行分类。

将文件夹设置为白名单时,最好将相关代码置于#folder注释下的最上方;存放于子文件夹下的文件,其管理代码写于父文件夹下的.gitignore中时也应遵守此规则,即置于#files注释下的最上方。具体例子可在minecraft/config/.gitignore中查看,Inventory Profile Next模组的配置文件管理代码便是采用这种书写方式。