跳转到内容

分支管理

分支管理让你把每个存档的对话历史视为一棵「版本树」——每一回合是一个节点,每次从历史节点重走都会在树上开出新的分叉轨道,原路线完整保留。可以从任意历史节点新建分支、切换到某条旧路线继续,或删除不想要的子树。

入口:顶栏「存档与分支」→「分支管理」;或游戏内右侧面板顶栏点「分支」按钮打开紧凑版分支图,右上角小箭头可在新标签打开完整分支图。


关键概念

分支图(VSCode Git Graph 风格)

  • 左侧彩色竖线:每条分支轨道(swimlane),不同颜色区分不同分支路线
  • 每行一个节点(commit),最新节点在最上方
  • 当前激活节点(HEAD)的圆点带外圈高亮
  • 已删除节点以虚线标注,仍可在图中溯源查看
  • 节点右侧显示:分支名称标签(ref pill)、回合摘要、时间

两种视图

  • 完整分支图(平台「分支管理」页):显示该存档的所有分支路线,可对任意节点操作
  • 紧凑分支图(游戏内右侧「分支」面板):仅显示当前激活节点沿父节点追溯的这条链,即当前正在走的路

删除后的去向

从消息气泡删除(「删除此消息及之后所有」),旧分支会被自动保存到 refs/trash/...,仍可通过分支管理树切回去恢复。


常见任务

从某条消息开新分支

适用于想在某个关键决策点「走另一条路」的情况。

  1. 在游戏对话流中,把鼠标悬停到目标消息,底部出现操作栏。
  2. 点击「分叉」图标(data-tip:从这里新建分支)。
  3. 弹出确认框,显示消息预览,点「新建分支」确认。
  4. 系统把这条消息及其节点之后的历史保留在原分支,并切换到新分支。如果点的是玩家消息,该条消息会自动放回输入框,方便改写后重发。

重新生成这一轮(换个写法)

  1. 悬停到某条 GM 回复,点击「刷新」图标(data-tip:重新生成这一轮)。
  2. 系统会在这条回复之前新建分支,重新走一次相同的玩家输入,生成不同的 GM 回复。

切换到某个历史节点(改变当前进度)

在完整分支图(平台「分支管理」页):

  1. 找到目标节点行,点击行右侧的「切到此分支」按钮(勾形图标)。
  2. 系统将当前存档激活节点切到该处,再进入游戏时从这里继续。

在游戏内紧凑分支图:

  1. 点「分支」按钮打开右侧面板。
  2. 找到目标节点,点击「切到此分支」(勾形)或「从此继续」(播放形)按钮。

从历史节点继续游戏(不切换,直接开新分支)

在完整分支图:

  1. 找到目标节点,点击该行的「从此继续」按钮(播放图标)。
  2. 系统从该节点创建新分支并切换为当前进度,进入游戏后从这里走。

删除某条消息及之后所有内容

  1. 悬停到目标消息,点「删除」图标(data-tip:删除此消息及之后所有)。
  2. 弹出危险操作确认框,说明将丢弃哪些回合。
  3. 点「确认删除」。旧内容会保留在 refs/trash/...,可通过分支管理树切回恢复。

在完整分支图中删除分支子树

  1. 在「分支管理」页找到要删除的节点行,点「删除子树」图标(垃圾桶)。
  2. 弹出确认框,确认后该节点及其所有子孙节点被删除。
  3. 此操作在本存档内不可用原有方式恢复(非 trash-ref 路径)。

刷新分支图

右上角「刷新」按钮,重新从服务器拉取最新状态。


常见问题

分支图是空的? 当前存档还没有任何游戏记录。进入游戏发出第一条指令后,节点才会生成。

新建分支后,原来的路线还在吗? 原分支完整保留,新内容出现在新的轨道上,两条线都显示在完整分支图中。

游戏内右侧「分支」面板只看到一条线,其他分支呢? 游戏内面板是「当前子分支」视图,只显示当前激活节点沿父节点追溯的一条链。完整的 DAG 请点面板右上角小箭头,在新标签打开「分支管理」页查看。

删除消息后想反悔? 从消息气泡删除的旧分支会保存到 refs/trash/...,在分支管理页的完整图里仍可找到这些节点,点「切到此分支」即可切回。

「切到此分支」和「从此继续」有什么区别? 「切到此分支」只移动激活指针,不创建新分支;历史节点成为新的当前进度,继续游戏会在该节点接续。「从此继续」从该节点新建分支,以新分支继续,原分支保留。


相关