gix
Pure Rust Git implementation CLI
TLDR
Clone a repository
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 serves as a testing and validation tool for the gitoxide API, providing expert-level access to Git internals. The ein binary is designed for everyday Git workflows with an enhanced, intuitive interface.
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 to local path.fetch [remote]
Fetch updates from remote repository.status
Show working tree status.commit [options]
Record changes to the repository.remote subcommand
Manage remote repositories.free pack subcommand
Pack file operations and verification.free index subcommand
Index file operations.free mailmap subcommand
Mailmap operations.free commitgraph subcommand
Commit graph operations.no-repo subcommand
Commands that don't require a repository.
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.
