最近在使用commitizen提交代碼時(shí),發(fā)現(xiàn)缺少json文件無法正常工作。這使得我無法輕松地提交符合規(guī)范的git提交信息,非常麻煩。
經(jīng)過一番調(diào)研和嘗試,我發(fā)現(xiàn)了解決這個(gè)問題的方法。原來,commitizen需要在項(xiàng)目文件夾下存在一個(gè)叫做commitlint.config.js的文件,這個(gè)文件包含了commitizen需要使用的一些配置信息。而這個(gè)配置信息中,也包括了一個(gè)rules字段,用于規(guī)范git提交信息的格式。
而要使commitizen正常工作,我們需要在rules字段中添加一個(gè)type-enum的規(guī)則,用于限制git提交信息中的type部分必須是我們預(yù)設(shè)的幾個(gè)選項(xiàng)之一。
{ "rules": { "type-enum": [ 2, "always", ["feat", "fix", "docs", "style", "refactor", "test", "chore", "revert"] ] } }
然而,我們并沒有辦法直接修改這個(gè)json文件,因?yàn)檫@個(gè)文件是commitizen內(nèi)部使用的,如果直接修改,很可能會(huì)導(dǎo)致其他問題。因此,我們需要通過commitizen提供的一個(gè)叫做commitizen init cz-conventional-changelog --save-dev --save-exact的命令生成這個(gè)json文件。
這個(gè)命令的作用是讓commitizen自動(dòng)生成一個(gè)名為“.cz.json”的工具文件,這個(gè)文件是commitizen的運(yùn)行腳本。我們只需要執(zhí)行這個(gè)命令,就能夠得到一個(gè)新的“.cz.json”文件,其中已經(jīng)包含了上述的rules配置。
因此,如果你在使用commitizen時(shí)遇到了缺少json文件的問題,就可以通過以上方法來解決這個(gè)問題,讓commitizen正常工作。