# Example mgsh configuration. mgsh writes a blank ~/.mgshrc on first run; fill # in the required settings (mgsh refuses to start until they are set). This file # is just an annotated reference. # # Simple "key = value" (or "key: value") lines; a '#' after whitespace starts a # comment. There are no built-in defaults. Settings are resolved in this order, # each step overriding the one before: # # ~/.mgshrc -> /.mgshrc -> MGSH_* environment variables # --- required --- base = /Users/me/src githost = git.example.com gitport = 22 gituser = git gitpath = /home/git # --- optional --- # gitkey = mgit_rsa # gitname = Your Name # gitemail = you@example.com # pushdefault = matching # editor = code # --- pushremote: mirror to public servers (gitea/github/gitlab) via their API --- # A single server, the flat form (this target is named "public"): # remoteurl = https://git.example.com # remotekey = # remotetype = gitea # optional; auto-detected from remoteurl # remotevisibility = private # visibility of created repos (default private) # # Or any number of named servers. `pushremote` pushes to all of them in the # order given, `pushremote @hub` to a single one. Each target gets a git remote # of the same name in the repository. # remote.gitea.url = https://git.example.com # remote.gitea.key = # remote.hub.url = https://github.com # remote.hub.key = # remote.hub.type = github # optional; auto-detected from the url # remote.hub.visibility = public # default private # remotes = gitea, hub # optional: restrict and order the set # # mirror = true # `push` also mirrors via pushremote # --- per-project overrides --- # A /.mgshrc overrides all of the above for that project only, except # base, gitname, gitemail and pushdefault, which stay global. Typical use: # # # ~/src/myproject/.mgshrc # remotes = hub # this project is mirrored to github only # mirror = true # # Keep tokens out of a project .mgshrc unless it is git-ignored — mgsh warns # when it is not. # Aliases live in the same file (managed by the `alias` command). The expansion # is a mgsh command line; $1..$N and $*/$@ expand arguments, and a shell command # needs a leading '!'. alias co 'checkout $1' alias ec '!echo $1'