| Crates.io | syncgit |
| lib.rs | syncgit |
| version | 0.3.0 |
| created_at | 2025-05-03 22:18:02.855121+00 |
| updated_at | 2025-11-15 22:45:52.151873+00 |
| description | CLI tool to sync git repositories. |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1659184 |
| size | 95,156 |
A lightweight Rust-based CLI to streamline everyday Git workflows with enhanced safety and user experience. Automatically detects repository context, provides clear status, and guides you through the commit and sync process with intuitive prompts.
.git)All path-sensitive git operations use git -C <repo_root> for robust behavior regardless of where you run syncgit.
cargo install syncgit
git clone https://github.com/rickypcyt/syncgit-rustcli.git
cd syncgit
cargo install --path .
To work with private repositories, set your GitHub token:
export GITHUB_TOKEN=your_github_token_here
# Add to your shell's rc file to make it persistent
Run the tool from any directory within a Git repository:
syncgit
The tool will guide you through:
Repository root and Subpath.When youβre in a parent folder with multiple projects, the subpath status is grouped by top-level folder. This keeps large changes readable and helps you focus on a particular folderβs changes when committing from the parent.
If no internet connection is detected, changes are committed locally but not pushed. A message will inform you to push manually once online.
To push to private GitHub repositories via HTTPS, the tool will use the GITHUB_TOKEN environment variable (if available) to authenticate securely by rewriting the remote URL temporarily.
cargo install syncgit --force
cargo install cargo-update
cargo install-update -a
term_size: For responsive terminal layout.std::process, std::io, std::env, and std::net.git -C <root> usage.Repository root + Subpath.Pull requests and feedback are welcome! Please open an issue first to discuss any major changes.
Made with β€οΈ in Rust.