Mermaid GitGraph给main分支打标签出现语法错误求助
Mermaid GitGraph 标签语法错误问题解决
问题描述
在Mermaid GitGraph中给main分支创建标签时触发语法错误,错误提示如下:
Expecting 'GG', 'EOF', 'NL', 'acc_title', 'acc_descr', 'acc_descr_multiline_value', 'section', 'CHECKOUT', 'BRANCH', 'CHERRY_PICK', 'MERGE', 'COMMIT', 'open_directive', ';', got 'COMMIT_TAG'
出错的代码示例:
gitGraph commit tag: "v1.0" branch dev branch update-MS1-reference commit checkout dev merge update-MS1-reference tag: "v1.1rc00" checkout update-MS1-reference commit checkout dev merge update-MS1-reference tag: "v1.1rc01" checkout main merge dev tag: "v1.1"
移除main分支上的标签后,代码即可正常运行,正常代码示例:
gitGraph commit branch dev branch update-MS1-reference commit checkout dev merge update-MS1-reference tag: "v1.1rc00" checkout update-MS1-reference commit checkout dev merge update-MS1-reference tag: "v1.1rc01" checkout main merge dev
问题原因
Mermaid GitGraph的语法规则要求,标签必须绑定到一个明确的提交节点。merge dev操作本身不会生成一个可被标签直接关联的显式提交,所以在merge后直接写tag会让语法解析器无法识别,进而抛出错误。
修复方案
在merge dev之后添加一条显式的commit指令(可按需添加提交信息,留空也可),让标签能绑定到这个新的提交节点上,语法就能正常解析了。
修复后的代码示例:
gitGraph commit tag: "v1.0" branch dev branch update-MS1-reference commit checkout dev merge update-MS1-reference tag: "v1.1rc00" checkout update-MS1-reference commit checkout dev merge update-MS1-reference tag: "v1.1rc01" checkout main merge dev commit tag: "v1.1"
内容的提问来源于stack exchange,提问作者Bok
相关产品推荐
相关产品推荐

