GitGud

GitGud

Git for Hytale: 一个简化的版本控制系统,用于通过内置的Hytale命令逐步保存世界和恢复更改。

实用

GitGud — Hytale 轻量级游戏内世界版本管理

一个简单的服务器插件,可追踪方块放置与破坏,让建造者将更改保存为本地提交,并能轻松回退或暂存更改。专为小团队和创意服务器设计,无需外部工具即可恢复错误。

功能特性

  • 追踪方块更改(放置/破坏)。
  • 使用信息进行提交和回退更改。
  • 自动暂存和取消暂存未提交的更改,以在服务器重启后保留更改并节省内存。
  • 回滚未保存的更改。
  • 标签用于标记重要提交。
  • 通过提交索引、指针(HEAD 或 TAIL)或标签名称进行检出。
  • 状态和日志命令用于检查仓库状态和历史。

安装

  1. 下载 JAR 文件并将其放入 Hytale 服务器的 Mods 目录。
  2. 启动服务器。插件将在服务器工作目录中创建一个 ./gitgud 文件夹。

快速入门

  1. 在游戏中做出方块更改。
  2. 运行 /gitgud commit "你的信息"
  3. 使用 /gitgud log/gitgud status 检查状态。
  4. 使用 /gitgud rollback 回滚未提交的更改,或使用 /gitgud revert 回退最新的已提交更改。

命令

以下是游戏内命令及其使用方法。

/gitgud help
  显示命令帮助文本。

/gitgud status
  显示:
  - 提交数量
  - 内存中未暂存的更改数量("自上次暂存以来的更改")
  - 暂存文件数量

/gitgud log
  打印从 HEAD 向后的提交历史。
  当前提交用 "<--" 标记。

/gitgud commit "<信息>"
  使用给定的信息从最近的方块更改创建一个提交。
  如果没有更改则失败。
  在分离模式(HEAD != CURRENT)下失败。

/gitgud rollback
  仅回退未提交的方块更改。

/gitgud revert
  回退最新的提交(从 CURRENT),然后删除该提交文件。
  也会先回滚未提交的更改。
  在分离模式(HEAD != CURRENT)下失败。

/gitgud stash
  手动将内存中的方块更改暂存到 `.gitgud/stash`。
  主要用于测试(已存在自动暂存功能)。

/gitgud tag add <名称> [--desc "<描述>"]
  为最新提交(HEAD)添加一个标签。
  描述可选,默认为 "未提供描述"。

/gitgud tag list
  列出仓库中的所有标签。

/gitgud tag del <名称>
  从仓库中删除一个标签。

/gitgud checkout <index|HEAD|TAIL> [--tag]
  通过提交索引、HEAD、TAIL 或使用 --tag 指定标签进行检出。
  索引在 HEAD 链中以零为基础:
  - 0 = HEAD(最新)
  - 1 = HEAD 的父提交
  - 以此类推。
  检出会移动 CURRENT 并按要求应用/回退提交。
  当参数是标签名称而不是索引时使用 `--tag`。

注意:

  • 如果你的版本中某个命令缺失或名称不同,请检查 /gitgud help 或 JAR 包附带的插件文档。
  • 权限:默认情况下只有服务器管理员可以使用这些命令。

故障排除

  • 确保用户拥有运行 GitGud 命令的管理员权限。
  • 如果插件没有创建 ./gitgud 文件夹,请确保服务器进程对其工作目录有写入权限。
  • 如果方块更改未被记录,请检查服务器日志中的插件初始化消息,并确保插件已加载。

贡献

欢迎贡献和错误报告。请在本项目仓库中发起 Issue 和 Pull Request。


意外编辑和迭代建造的轻量级恢复方案 —— 易于使用,易于恢复。