LinuxCommandLibrary
GitHubF-DroidGoogle Play Store

gix

Pure Rust Git implementation CLI

TLDR

Clone a repository
$ gix clone [https://github.com/user/repo]
copy
Fetch updates from remote
$ gix fetch
copy
Show repository status
$ gix status
copy
List remotes
$ gix remote list
copy
Show the commit log
$ gix log
copy
Blame a file
$ gix blame [path/to/file]
copy
Verify repository integrity
$ gix verify
copy
List available subcommands
$ gix --help
copy

SYNOPSIS

gix [options] command [args...]ein [options] command [args...]

DESCRIPTION

gix (gitoxide) provides two CLI binaries: gix for low-level plumbing operations and ein for high-level porcelain commands. Written entirely in Rust, it aims to be a correct, performant, and safe Git implementation.The gix binary exposes low-level, self-documenting plumbing commands and serves as a testing and validation tool for the gitoxide API. The ein binary is the smaller, porcelain-facing counterpart, offering a handful of convenience commands (like init, clone, and repository-discovery tools under tools) aimed at everyday human use rather than API validation.Both binaries access the same underlying gix library ecosystem, which provides pure Rust implementations of Git protocols, object storage, reference handling, and more.

PARAMETERS

-r, --repository path

Use repository at specified path.
-t, --threads num
Number of threads to use.
--progress
Show progress information.
--verbose
Enable verbose output.
-h, --help
Show help for command or subcommand.
-V, --version
Display version information.

COMMANDS

clone url [path]

Clone a repository into a new directory.
fetch [remote]
Fetch data from remotes and store it in the repository.
status
Compute and show repository status.
commit subcommand
Interact with commit objects.
branch subcommand
Interact with branches.
tag subcommand
Interact with tag objects.
remote subcommand
Interact with the remote hosts.
log [path]
List commits in the repository, optionally limited to those changing a path.
diff
Print all changes between two objects.
blame path
Blame lines in a file.
worktree subcommand
Handle worktrees.
submodule subcommand
Interact with submodules.
index subcommand
Interact with a worktree index like `.git/index`.
mailmap
Interact with the mailmap.
commit-graph subcommand
Interact with commit-graph files.
verify
Verify the integrity of the entire repository.
credential
A program just like `git credential`.
free subcommand
Subcommands that need no Git repository to run (e.g. pack and index operations).
completions
Generate shell completions to stdout or a directory.
This is a subset; run gix --help for the full, self-documenting list of subcommands (it has grown to cover archive, clean, fsck, odb, attributes, exclude, dirwalk, merge, and more).

CAVEATS

The CLI binaries are considered unstable and should not be relied upon in scripts. Feature coverage is incomplete compared to Git; some operations may not be implemented. The project is under active development with APIs subject to change.

HISTORY

Gitoxide was created by Sebastian Thiel as an effort to rewrite Git in Rust. Development began with a focus on correctness first, then performance. The project has grown to include comprehensive Git functionality with multiple crates (gix-*) providing modular components.

SEE ALSO

git(1), lazygit(1), tig(1)

RESOURCES

Copied to clipboard
Kai