| Crates.io | fast-git |
| lib.rs | fast-git |
| version | 0.1.0 |
| created_at | 2025-11-14 03:14:17.882539+00 |
| updated_at | 2025-11-14 03:14:17.882539+00 |
| description | A fast and efficient Git/GitHub CLI wrapper with custom aliases support |
| homepage | https://github.com/VMASPAD/fast-git |
| repository | https://github.com/VMASPAD/fast-git |
| max_upload_size | |
| id | 1932192 |
| size | 28,125 |
A fast and efficient Git/GitHub CLI wrapper with custom aliases support.
git and gh (GitHub CLI) seamlesslyInstall via cargo:
cargo install fast-git
Or build from source:
git clone https://github.com/VMASPAD/fast-git.git
cd fast-git
cargo build --release
The binary will be available as fast-git.
# Initialize a repository
fast-git --init
# Add files
fast-git --add .
# Commit changes
fast-git --commit "Initial commit"
# Add remote origin
fast-git --ro https://github.com/username/repo.git
# Push to origin
fast-git --push
Switch between git and GitHub CLI (gh):
# Use git (default)
fast-git --setMode git
# Use GitHub CLI
fast-git --setMode gh
# Check current mode
fast-git --getMode
| Command | Description | Example |
|---|---|---|
--init |
Initialize a Git repository | fast-git --init |
--add [path] |
Add files to staging (default: .) |
fast-git --add src/ |
--commit <message> |
Commit changes | fast-git --commit "Fix bug" |
--pull [remote] |
Pull from remote (default: origin) |
fast-git --pull |
--push [remote] |
Push to remote (default: origin) |
fast-git --push origin |
--setBranch <name> |
Create and checkout a new branch | fast-git --setBranch feature |
--new <name> |
Create a new branch | fast-git --new develop |
--ro <url> |
Add remote origin | fast-git --ro https://github.com/user/repo.git |
--info [path] |
Show repository status (default: .) |
fast-git --info |
Create custom command sequences:
# Create an alias
fast-git --createAlias quickpush "add ." "commit -m 'Quick update'" "push"
# List all aliases
fast-git --listAliases
# Run an alias
fast-git --alias quickpush
fast-git --help
# Initialize and configure repository
fast-git --init
fast-git --ro https://github.com/username/myproject.git
# Make changes and commit
fast-git --add .
fast-git --commit "Add new feature"
fast-git --push
# Create a new feature branch
fast-git --new feature/awesome-feature
# Make changes
fast-git --add .
fast-git --commit "Implement awesome feature"
# Push the new branch
fast-git --push origin
# Create a sync alias
fast-git --createAlias sync "pull" "add ." "commit -m 'Sync'" "push"
# Use it anytime
fast-git --alias sync
# Switch to GitHub CLI
fast-git --setMode gh
# Now all commands use gh instead of git
fast-git --push # Uses: gh push origin
Configuration is stored in your system's config directory:
~/.config/fg/%APPDATA%\fg\Files:
config.json - Mode configurationaliases.json - Custom aliasesfast-git can also be used as a library in your Rust projects:
[dependencies]
fast-git = "0.1.0"
use fg::*;
fn main() -> Result<(), Box<dyn std::error::Error>> {
// Initialize repository
git_init()?;
// Add all files
git_add(".")?;
// Commit
git_commit("Initial commit")?;
// Create and run custom alias
create_alias("deploy", vec![
"add .".to_string(),
"commit -m 'Deploy'".to_string(),
"push".to_string()
])?;
run_alias("deploy")?;
Ok(())
}
gh) for gh modeContributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)This project is licensed under the MIT License - see the LICENSE file for details.
VMASPAD