Crates.io | syncgit |
lib.rs | syncgit |
version | 0.1.8 |
created_at | 2025-05-03 22:18:02.855121+00 |
updated_at | 2025-09-04 09:02:39.091305+00 |
description | Una herramienta CLI para sincronizar repositorios Git |
homepage | |
repository | |
max_upload_size | |
id | 1659184 |
size | 35,446 |
A lightweight Rust-based CLI to streamline everyday Git flows: detect the repo root, show a clear status, stage only what you need, commit, and push — with a clean, user-friendly terminal UI.
.git
).Repository root
and Subpath
(relative path from the repo root).git status -sb
).--porcelain
limited to the current subpath).GITHUB_TOKEN
) to push to private repos via HTTPS.All path-sensitive git
operations use git -C <repo_root>
for robust behavior regardless of where you run syncgit
.
export GITHUB_TOKEN=your_token_here
Install Rust if you don’t have it yet:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Then install the CLI globally:
cargo install syncgit
Run the tool from anywhere inside a Git repository:
syncgit
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.