# JustEnoughVCS ​ `JustEnoughVCS` 是一款为 **跨职能团队** 打造的轻量级版本控制系统。它不再使用传统的单一目录树约束,而是允许各成员以 **最适合自身职能的方式** 查看和组织文件,从而让团队能专注于内容创作本身,主要服务于 **游戏开发**、**多媒体设计** 等二进制资产繁多的协作场景。 ## 虚拟文件系统 (Virtual File System) ​ 虚拟文件系统是 `JustEnoughVCS` 的基石。每个文件都由一个全局唯一的 `VirtualFileId` 标识,与物理路径解耦。它完整记录了文件的: - **所有历史版本** - **每次修改的描述信息** - **版本号序列** - **当前最新版本** - **当前文件持有者(拥有编辑权限的成员)** ### 特性 - **历史可追溯**:轻松查看任何版本的历史记录并支持回滚。 - **无冲突协作**:严格遵循 **"先持有,后编辑"** 的原则。文件对所有人 **可见**,但仅持有者 **可写**,以避免冲突。 - **拿取前校验**:拿取文件前会严格校验本地文件的哈希值、版本号,以确保该文件编辑时处于最新版本。 ## 结构表系统 (Sheet System) ​ 结构表系统是连接 **虚拟文件** 与成员 **本地工作区** 的桥梁。它通过建立 `VirtualFileId` 到本地 `SheetPath` 的映射,为每个职能角色(如程序、美术、策划)或成员定制专属的文件视图。 结构表分为两种类型,主要在权限管理上有所区别: | 操作 | 参照结构表 (Reference Struct Sheet) | 成员结构表 (Member Struct Sheet) | | ----------------------- | ----------------------------------- | -------------------------------- | | **签入** (Check-in) | 所有成员 | 所有成员 | | **增加项** (Add Item) | 所有成员(进入临时区域) | 所属者 | | **移动项** (Move Item) | 管理员 | 所属者 | | **断裂项** (Break Link) | 管理员 | 所属者 | | **合入** (Merge) | 管理员 | 所属者 | | **克隆** (Clone) | 所有成员 | 所有成员 | ## 支持 在使用过程中遇到任何问题或有建议? - 请提交至 GitHub Issues 页面,我们会及时处理您的反馈。 ## 许可证 本项目采用 **MIT 许可证**。 完整的许可证条款请参阅项目根目录下的 LICENSE-MIT.md 文件。 ------ 最后,感谢您对 `JustEnoughVCS` 的关注!