Getting started
Installation Partly available
GitMaster is a desktop app. On Linux, the install script downloads the prebuilt release for your processor, checks it, and installs it. On macOS, you build GitMaster from source with Rust.
Requirements#
| Requirement | Details |
|---|---|
| Git | Required. GitMaster uses the git program for its operations, and it is the only external program the app needs. The install script does not install Git. |
| Operating system | Linux for the prebuilt release. macOS builds from source. |
| Processor | amd64 (x86_64) or arm64 (aarch64). |
| Graphical session | GitMaster draws its window, so it needs a graphical session and a graphics driver that the UI toolkit, GPUI, can use. |
| Tools for the install script | curl, tar, and either sha256sum or shasum. |
Install with the script#
Run this command in a terminal on Linux:
|
The script is also published in the repository. If the domain is unreachable, run it from GitHub instead:
|
The script does the following:
- Detects your processor.
- Downloads the Linux release archive for your processor from the latest release, or from the release you pass with
--version. - Checks the archive against the release's
checksums.txt. If the check fails, the script stops before it installs anything. - Puts the
gitmasterbinary in the directory given by--dir. - Installs the icons and a desktop entry.
On macOS the script stops with a message that points to building from source.
Options#
Pass options after sh -s --:
|
| Option | Meaning |
|---|---|
--version TAG | The release to install, such as v0.1.0. The default is the latest release. The v is optional. |
--dir DIR | The directory for the gitmaster binary. The default is ~/.local/bin. The script does not use sudo, so choose a directory you can write to. |
-h, --help | Prints the usage and exits. |
Install a specific version#
To install a release other than the latest, pass its tag with --version:
|
To check which version is installed, run:
The output has the form gitmaster 0.1.0, the release version without the v.
What gets installed where#
| Item | Location |
|---|---|
gitmaster binary | --dir, by default ~/.local/bin/gitmaster |
| Icons | $XDG_DATA_HOME/icons/hicolor, or ~/.local/share/icons/hicolor when XDG_DATA_HOME is not set |
| Desktop entry | gitmaster.desktop in the applications folder of the same data directory |
The desktop entry starts the binary by its absolute path, so the application menu works even when ~/.local/bin is not on the desktop session's PATH.
If ~/.local/bin is not on your PATH, the script prints the line to add. Run gitmaster --version to check the installed version.
Verify the download#
Each release publishes a checksums.txt file with the SHA-256 hash of every archive. The install script checks the archive against it before installing.
To check an archive yourself, download it and checksums.txt from the GitHub releases page. Then run the check for your archive:
|
Replace the archive name with the one for your processor:
| Processor | Archive |
|---|---|
| amd64 (x86_64) | gitmaster_linux_amd64.tar.gz |
| arm64 (aarch64) | gitmaster_linux_arm64.tar.gz |
Upgrade#
Run the install command again. It replaces the binary. To install a specific release, add --version. Start GitMaster again to run the new version.
Uninstall#
The install script has no uninstall option. Remove what it installed. If you used --dir or XDG_DATA_HOME, use those locations instead.
Removing the program does not remove your settings or app data. They are in ~/.config/gitmaster and ~/.local/share/gitmaster. Delete those folders yourself if you want to remove them too.
Build from source#
Use this path on macOS, or on Linux when you want a build of the repository itself. Building from source needs the stable Rust toolchain. The repository's rust-toolchain.toml selects the stable channel, and rustup reads that file, so every cargo command in the repository uses the latest stable release. Install Rust with rustup. If a Rust compiler from your distribution is on your PATH, put ~/.cargo/bin before it.
-
On Linux, install the development packages. On Debian and Ubuntu:
-
Clone the repository and enter it:
-
Build the release binary. The binary is written to
target/release/gitmaster. -
Install it:
Without options,
make installputs the binary in~/.cargo/bin/gitmaster. To put it in the same place the install script uses, set the prefix:
make install also installs the icons and desktop entry on Linux, and GitMaster.app on macOS. The macOS app declares a minimum system version of 10.15.7. These variables change where it puts files:
| Variable | Default | Used for |
|---|---|---|
PREFIX | Cargo's install root: $CARGO_INSTALL_ROOT, else ~/.cargo | The binary goes in PREFIX/bin |
DATADIR | $XDG_DATA_HOME, else ~/.local/share | Linux icons and desktop entry |
APPDIR | ~/Applications | macOS app bundle |
To remove a source install, run make uninstall with the same variables.