LinuxCommandLibrary

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
Create a commit
$ gix commit -m "[message]"
copy
Show object info
$ gix free pack verify [path/to/pack]
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 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.

SEE ALSO

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

> TERMINAL_GEAR

Curated for the Linux community

Copied to clipboard

> TERMINAL_GEAR

Curated for the Linux community