What are you searching for?

MCGit

MCGit

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

download 18 Downloads · favorite 2 Followers · Updated 3 days ago
Fabric Management Social Technology Utility 1.21.11

Versions

inventory_2
MCGit 1.0.1

1.0.1 · 3 days ago · 3.00 MB

Release download
Fabric 1.21.11
inventory_2
MCGit 1.0.0

1.0.0 · 1 week ago · 2.99 MB

Release download
Fabric 1.21.11

About

MCGit

MCGit Logo

Requires Fabric 1.21.11

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.

  • /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 ommitted to revert to the latest commit.
  • /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 listCommits Lists all commits in the current branch.
  • /git listRepos 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.
open_in_new View on Modrinth
Compatibility
Client: Required Server: Unsupported
gavel GPL-3.0-only

Conversation

What are your thoughts?

Related projects

Optimization Utility
FerriteCore
FerriteCore

by malte0811

Memory usage optimizations

download 84.3M
favorite 12,712
Utility
Mod Menu
Mod Menu

by Prospector

Adds a mod menu to view the list of mods you have installed.

download 77.7M
favorite 22,127
Library Management Utility
YetAnotherConfigLib (YACL)
YetAnotherConfigLib (YACL)

by isxander

A builder-based configuration library for Minecraft!

download 66.1M
favorite 7,607
Adventure Transportation Utility
Xaero's Minimap
Xaero's Minimap

by thexaero

Displays a map of the nearby world terrain, players, mobs, entities in the corner of your screen. Lets you create waypoints which help you find the locations you've marked.

download 60.9M
favorite 13,668
lock Cookie consent

SkinMC uses cookies to provide functionality and features.