MRA

开发文档

[!NOTE]

只有当您想要开发 MRA 时才需要看当前页面!

用户请转到 MRA 使用手册

开发 MaaFramework 或开发自己的项目请到 MaaXYZ/MaaFramework

Github Pull Request 流程简述

我不懂编程,只是想改一点点 JSON 文件/文档等,要怎么操作?

欢迎收看 牛牛也能看懂的 GitHub Pull Request 使用指南

我有编程经验,但是没参与过相关项目,要怎么做?

  1. 如果很久以前 fork 过,先在自己仓库的 Settings 里,翻到最下面,删除

  2. 打开 MRA 主仓库,点击 Fork,继续点击 Create fork

  3. 克隆你自己的仓库到本地,并拉取子模块

     git clone --recursive https://github.com/<你的用户名>/MRA.git
    

    –recursive 一定不要忘!–recursive 一定不要忘!–recursive 一定不要忘!

    OCR异常失败很可能就是没加recursive导致。

  4. 下载 MaaFramework 的 Release 包,解压到 deps 文件夹中。

  5. 配置编程环境

  6. 开始开发

    参考 MaaFramework 相关文档开始愉快的改代码吧。

  7. 调试代码

    使用以下几种方式调试你改好的代码

    • 使用MaaDebugger调试

      1. 下载MaaDebugger独立调试工具

      2. 参照README使用

    • 使用cli本地安装调试

      1. 安装嵌入式python(仅Windows需要)

        ./tools/ci/setup_embed_python.ps1
        
      2. 通过运行 install 组装部件

        python ./tools/install.py
        

      便可以在 install 文件夹运行 MRA 了。

    • 使用gui安装调试

      1. 下载MFAAvalonia最新发行版并解压

      2. 将本地仓库中assets/resource中所有内容复制到MFAAvalonia/Resource中

      3. 将本地仓库中assets/interface.json文件复制到MFAAvalonia/中

      便可以使用MFAAvalonia运行 MRA 了。

  8. git 操作

    通常用的最多的基本命令有:

    • git add <file>:添加文件到暂存区,* 代表全部文件
    • git commit -m "message":提交暂存区到本地仓库。message 请遵循 约定式提交规范,让你的 commit 信息更加清晰
    • git pull origin <branch>:拉取远程仓库到本地仓库
    • git push origin <branch>:推送本地仓库到远程仓库

    开发过程中,每一定数量,记得提交一个 commit, 别忘了写上 message 假如你不熟悉 git 的使用,你可能需要创建并切换到一个新的分支,而不是直接提交在 main 上 这样你的提交就能在新的分支上生长,不会受到 main 更新的打扰

     git checkout -b <branch-name> # 创建并切换到新的分支
    

    完成开发后,推送你修改的本地分支到远程仓库(fork 的仓库)

     git push origin <branch-name>
    

    当 MRA 仓库出现更改(如其他人的commit),你可能需要把这些更改同步到你的分支

    1. 关联 MRA 原仓库:

       git remote add upstream https://github.com/MAA1999/MRA.git`
      
    2. 拉取远程仓库更新:

       git fetch upstream
      
    3. 变基(推荐)或者合并修改:

       git rebase upstream/main # 变基,使commit历史更清晰,完成你的个人pr时建议使用rebase而不是merge来合并修改
      

      或者

       git merge upstream/main
      

    git 参考资料:

  9. 提交 Pull Request

    你修改的代码已经提交到你的仓库,现在你需要提交一个 Pull Request 到 MRA 的仓库,等待维护者审核

    GitHub Pull Request 参考