---
title: 使用 Git 协作开发整合包
description: 设置基于 Git 的工作流，让多人共同协作开发整合包，包括实例配置、模组选择与配置调优。
---

## 概述

本指南将帮助您搭建一个共享的整合包仓库，使多人可以通过 Git 协作开发实例配置、模组选择与配置调优。

## 步骤 1：初始化仓库

由一人创建整合包：

1. 在 Polymerium 中创建一个新实例（例如「our-pack」，Fabric 1.21.4）。
2. 添加初始模组列表并完成各项配置。
3. 在实例目录中初始化 Git：

```bash
cd instances/our-pack
git init
```

4. 创建 `.gitignore`：

```plaintext
build/
live/
persist/
data.lock.json
```

5. 提交：

```bash
git add profile.json import/ icon.png README.md CHANGELOG.md LICENSE.txt
git commit -m "Initial modpack setup"
```

6. 推送到 GitHub/GitLab：

```bash
git remote add origin git@github.com:yourname/our-pack.git
git push -u origin main
```

## 步骤 2：克隆（协作者）

每位协作者：

1. 将仓库克隆到自己的 Polymerium `instances/` 目录：

```bash
cd ~/.local/share/Polymerium/instances/  # 或 Windows 的对应路径
git clone git@github.com:yourname/our-pack.git
```

2. 打开 Polymerium —— 实例将显示在侧边栏中。
3. 部署以构建游戏目录。
4. 游玩并迭代。

## 步骤 3：迭代工作流

每个变更周期：

### 添加 / 删除模组

1. 在 Polymerium 的设置（Setup）标签页中进行修改。
2. `profile.json` 会自动更新。
3. 提交：

```bash
cd instances/our-pack
git add profile.json
git commit -m "Add Create mod and dependencies"
git push
```

### 调整配置

1. 启动游戏并在游戏内调整设置。
2. 变更会保存到 `live/`（未跟踪）。
3. 打开 **工作区（Workspace）** 标签页查看差异。
4. 将需要的更改从 `live/` 同步到 `import/`。
5. 提交：

```bash
git add import/
git commit -m "Tweak performance configs for lower-end hardware"
git push
```

### 与他人同步

```bash
git pull
# 在 Polymerium 中重新部署以应用变更
```

> **重要提示：** 在 `git pull` 前关闭 Polymerium，以免与文件监视器产生冲突。拉取后重新打开 Polymerium，再重新部署。

## 步骤 4：解决冲突

如果两人同时编辑 `profile.json`：

1. 执行 `git pull` —— Git 将标记冲突。
2. 打开 `profile.json` 并手动解决。格式为 JSON —— 查找冲突的模组条目。
3. 重新打开 Polymerium，验证模组列表是否正确。
4. 提交解决方案。

## 步骤 5：发布版本

当您准备好公开发布整合包时：

1. 为发布打标签：

```bash
git tag -a v1.0.0 -m "First public release"
git push origin v1.0.0
```

2. 在 Polymerium 中导出实例：
   - **导出 → Modrinth 格式（Export → Modrinth format）**（用于发布到 Modrinth）
   - **导出 → CurseForge 格式（Export → CurseForge format）**（用于发布到 CurseForge）
   - **导出 → Trident 格式（Export → Trident format）**（用于 Polymerium 与 Polymerium 之间共享）

3. 将导出的文件上传到您选择的平台。

## 提示

- **使用分支** 进行实验 —— `git checkout -b experiment/new-mod`，测试后合并或丢弃。
- **不要跟踪 `live/` 或 `persist/`** —— 这些是个人与机器特定的数据。
- **使用工作区** 将 `live/` 的更改提升到 `import/` —— 它会精确显示哪些内容发生了变化。
- **在实例目录中保留一个 `CHANGELOG.md`** —— 每次发布时更新它。