版本控制

了解知识库的 Git 版本控制功能

版本控制

Knodo 知识库基于 Git 实现版本控制,自动记录所有更改历史。本文档介绍版本控制的使用方法。

Git 基础

什么是版本控制?

版本控制是一种记录文件更改历史的系统,让您可以:

  • 查看谁在何时修改了什么
  • 回退到之前的版本
  • 比较不同版本的差异
  • 恢复误删的文件

Knodo 中的 Git

每个工作空间的知识库都是一个 Git 仓库:

  • 自动提交:每次保存自动创建提交
  • 自动记录:记录修改者和时间
  • 透明操作:无需手动执行 Git 命令

自动版本管理

自动提交

Knodo 会在以下操作时自动创建 Git 提交:

  • 保存文件时
  • 上传文件时
  • 删除文件时
  • 重命名/移动文件时
  • 批量导入文件时

提交信息格式

系统自动生成的提交信息格式:

chore(ai): 更新 docs/readme.md chore(ai): 上传 images/logo.png chore(ai): 删除 old-file.txt chore(ai): 重命名 a.md 为 b.md

提交前缀可通过环境变量 GIT_COMMIT_PREFIX 自定义,默认为 chore(ai):

提交作者信息

每次提交会记录操作用户的信息:

  • 作者名称:用户的显示名称
  • 作者邮箱:用户的邮箱地址

工作空间下载

您可以将整个知识库下载到本地:

  1. 进入工作空间
  2. 点击右上角的下载按钮
  3. 系统会将整个知识库打包为 ZIP 文件
  4. 下载到本地后解压即可获得完整的 Git 仓库

下载的 ZIP 包含:

  • 所有文件和目录结构
  • 完整的 Git 历史记录(.git 目录)
  • 可直接使用 Git 命令操作

技术细节

存储架构

  • 存储方式:本地 Git 仓库
  • 增量存储:只存储变更部分,节省空间
  • 服务端托管:无需本地安装 Git

并发安全

系统使用 Git 操作队列确保并发安全:

  • 多用户同时操作时按顺序执行
  • 避免 Git 锁冲突
  • 保证数据一致性

资源限制

  • 单个文件大小限制:根据套餐不同
  • 存储空间限制:根据套餐配额
  • Git 历史保留:永久保留

最佳实践

1. 合理组织文件

  • 使用清晰的目录结构
  • 文件命名规范统一
  • 避免过深的目录层级

2. 适度更新频率

  • 相关更改一起保存
  • 避免过于频繁的小修改
  • 完成一个逻辑单元后再保存

3. 定期下载备份

  • 重要知识库定期下载备份
  • 保留本地副本以防万一

常见问题

Q:每次保存都会创建新版本吗?

A:是的,每次文件保存都会创建一个新的 Git 提交,记录变更内容、时间和操作者。

Q:历史记录会永久保存吗?

A:是的,Git 历史记录会永久保留在知识库中。

Q:可以手动创建提交吗?

A:目前不支持手动创建提交,所有提交由系统自动生成。

Q:多人同时编辑会冲突吗?

A:系统通过操作队列保证顺序执行,避免并发冲突。

Q:下载的知识库可以用 Git 操作吗?

A:可以。下载的 ZIP 包含完整的 .git 目录,解压后可使用任何 Git 命令进行操作。

Q:二进制文件支持版本控制吗?

A:支持,但二进制文件无法进行差异对比,只能整体回滚。

相关文档

版本控制 | Knodo 文档