版本控制
版本控制是通过迭代方式备份代码的概念,使您能够根据需要回滚到特定版本。最基本的版本控制可以通过每天(或每个版本)将您的附加组件打包为.zip并上传到Google Drive(或本地保存)来实现。这并非不合理,但它存在三个显著问题,而专业的版本控制系统(VCS)可以解决:
- 难以比较不同版本
- 难以实际回滚到旧版本
- 对团队协作毫无帮助
本教程将介绍一个名为git的工具基础知识,以及一个名为GitHub的免费在线Git存储服务。任何人都可以学习,但如果您处于团队环境中或经常因忘记备份而丢失工作,您将获得最大收益。
本教程不会直接教授git或GitHub的使用,因为外部知识来源更适合这一目的。重点将放在学习基础知识后如何为Minecraft配置这些工具。
Git
git是一个安装在您本地机器上的工具,允许您对文件进行版本控制。您可以用简短的消息(例如“修复了驯服后龙无法飞行的问题”)提交文件更改,查看完整的变更列表,并快速跳转到特定更改。
Git功能极其强大,是所有大型编程项目的实际标准工具。对于Minecraft工作来说,最大的缺点是它非常复杂。学习时请保持耐心。
要全面了解git,您应该遵循以下git教程。
GitHub
GitHub是您Git项目(仓库)的在线托管版本。这使得多人可以同时在同一项目上协作。这对于地图制作非常有帮助。通过托管在GitHub上,您还可以(可选地)将代码公开,比以往更容易与世界分享您的附加组件。
要全面了解如何使用GitHub,您应该遵循这个GitHub教程。
词汇测验
如果您已经学到这一步,希望您已经拥有一个GitHub账户并对git有初步了解。以下术语将在本教程中使用。如果您不了解它们,请自行搜索:
- repository(仓库)
- branch(分支)
- commit(提交)
- github
- git
设置Git
这里假设您要将一个现有项目添加到Git中。如果是从头开始,步骤类似。
结构
将git用于附加组件的主要问题是,git通常通过封装和管理单个文件夹来工作。当然,在基岩版附加组件中,资源分布在两个文件夹中:BP和RP。为了解决这个问题,我们将把仓库完全放在com.mojang文件夹之外,然后使用Windows的junction来“复制”这些文件夹。
将项目放在单独的位置有许多优势:
- 可以按需包含其他文件,如配置文件、工具、笔记、.bb文件等
- 可以将RP和BP合并到一个仓库中
- 所有项目都可以在一个简单的位置轻松查看,而不是深埋在com.mojang中
创建Git仓库
为您的项目选择一个方便的位置。我将其放在C:/sirlich/projects。新建一个以地图名称命名的文件夹。我们将使用wiki作为示例项目的名称。
右键单击该文件夹,选择"Open git Bash"。如果未显示此选项,您可以从开始菜单打开git bash并导航到项目文件夹。如果尚未安装git bash,现在应该安装。
输入:git init。这将在您的项目中创建一个空白仓库。
链接现有的RP和BP
下一步是让仓库识别您的RP和BP文件夹。我们将使用Windows的符号链接“junction”。创建junction后,我们实际上是在文件系统中创建了一个“虫洞”,使文件看起来同时存在于两个位置。删除/编辑/添加文件的操作会完美复制。
输入:mklink /J wiki_RP "C:/path/to/RP/in/com/mojang" 输入:mklink /J wiki_BP "C:/path/to/BP/in/com/mojang"
完成后,您应该在项目文件夹中看到wiki_RP和wiki_BP,其中包含所有资源和现有文件等。
您现在可以按照上述教程将此仓库推送到github。
额外文件
由于我们基于符号链接创建了仓库,因此可以在项目文件夹中添加任何内容,而无需担心破坏com.mojang文件夹。我喜欢跟踪.bb文件、封面艺术文件(如.kra等)。
您还可以添加笔记、视频文件或任何其他想要跟踪的内容。
使用VCS工作
使用版本控制系统时需要注意的主要事项:
- 开始工作前务必
拉取最新版本 - 经常
提交并推送 - 停止工作前务必
推送 - 如果文件严重损坏,您可以随时重置到最后一个可用版本。如果经常提交/推送,希望这不会太久远。
- 务必,我是说务必,编写良好的提交消息。当您需要回滚时,这至关重要。

