跳到正文

MCGit

作者:itzmetanjim

Use Git/GitHub in Minecraft to add version control to your builds. Blew up your base? Just /git revert

收藏

截图

介绍

中文介绍正在准备中,下面暂时显示原文。

MCGit

MCGit Logo

Requires MC 26.1 Fabric, fabric-api and fabric-language-kotlin

MCGit is a Minecraft mod that brings Git-like version control to your Minecraft world. It allows you to track changes to
blocks and entities, commit those changes, and manage different versions of your world.

  • If you blow up your base or do a change that doesn’t look good, you can just /git revert.
  • If you make a change that does look good, do a commit: /git commit <msg>
  • You can back up your build and share it using a free hosting service like GitHub.
  • You can never lose your progress, every committed version of the build is saved.
  • You can “fork” other people’s builds and modify them to your liking as long as they allow it.
  • Other people’s builds can be cloned directly into your world.
  • Very lightweight and easy to use.
  • Does not require external tools: you do not need to install Git or any other software outside of Minecraft. MCGit

bundles JGit, a pure Java implementation of Git, to handle all Git operations internally.

Commands

Commands marked with @ require setblock access.\
[..] indicates optional arguments.

NOTE: It is perfectly normal for errors like “Couldn’t set block” to appear. These just mean that MCGit tried changing a block to itself. This is harmless.

NOTE2: If you do not have /git autoadd and /git autorm enabled, you need to manually add and remove block/s to/from the staging area using /git add and /git rm.\
To prevent confusion, this is now enabled by default but only in creative mode.

  • /git init <name> Initialize a new MCGit repository.
  • /git activate <name> Switch to the specified repository.
  • /git add <coords> Add one block at the specified coordinates to the staging area.
  • /git add <coords> <coords> [|hollow|outline] Add a cuboid of blocks to the staging area
  • @/git rm <coords> [coords] [|hollow|outline] Remove blocks/entities from the staging area and revert them. NOTE: Changing blocks/entities in the world needs to be done by issuing commands, as this is a clientside mod.
  • /git unstage ... does not revert , only removes from staging area.
  • /git commit [-m] "message" Commit the staged changes with a message. The -m flag does nothing.
  • @/git revert [commit-hash] /git reset but it changes the world as well. Commit hash can be omitted to revert to the latest commit (HEAD).
  • /git reset [commit-hash] Reset to a specific commit hash or the latest commit. This does not revert the actual world. This is the reverse of /git add
  • /git status Show the current status of the repository, including staged changes, unstaged changes, but not untracked blocks/entities.
  • /git commitList Lists all commits in the current branch.
  • /git repoList Lists all available repositories.
  • /git autoadd [toggle|on|off] Enable or disable automatic addition of changes to the staging area. To quickly switch between, use an enchanted red wool in offhand to make this act toggled (so if you have it in offhand, auto add is off, otherwise on).
  • /git autorm [toggle|on|off] Enable or disable automatic removal of deleted blocks/entities from the staging area. To quickly switch between, use an enchanted red wool in offhand to make this act toggled (so if you have it in offhand, autorm is off, otherwise on).
  • @/git clone <name> <url/local> Clone a remote repository from the specified URL into a new local repository with the given name. URL can be a local repository name (like myrepo), or a GitHub author/repo (like octocat/Hello-World) or a full URL to a git repository (like https://github.com/octocat/Hello-World.git).
  • /git clonesoft <name> <url> /git clone but do not put it in the world
  • @/git put <local> /git clone but do not save as a new repo.
  • /git remote add [remote=origin] <url> Add a new remote repository with the specified name and URL.
  • @/git pull [remote=origin] [branch=main] [default|ff-only|rebase|no-rebase] Fetch and merge changes from the specified remote repository and branch into the current branch. default is the same as ff-only but included for autocomplete user-friendliness.
  • /git fetch [remote=origin] [branch=main] [default|ff-only|rebase|no-rebase] /git pull
  • /git push [force|noforce] [remote=origin] [branch=main] Push committed changes to the specified remote repository and branch.
  • /git auth <username> [password] Store authentication credentials for accessing remote repositories. If password is omitted, only username is stored.

NOTE Credentials are stored unencrypted as plaintext.

  • /git branch <name> Switch to a branch with the given name, or create it if it does not exist.

常见问题

MCGit 支持哪些 Minecraft 版本?

MCGit 支持 Minecraft Java 版 1.21.11–26.1.1,共 3 个版本,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。

MCGit 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:仅客户端。

评论

登录后评论和评分

itzmetanjim 的其他作品

查看全部 →