A one-word command from Heaven for your terminal that saves you time — add, commit, and push all in one go. GACP is an intelligent Git automation tool that streamlines your development workflow. It automatically generates conventional commit messages and handles the full git add
, commit
, and push
process — all in one go.
curl -sL https://raw.githubusercontent.com/numerimondes/gacp/main/gacp.sh -o gacp.sh && chmod +x gacp.sh && ./gacp.sh --install-now
-
Download the script:
wget https://raw.githubusercontent.com/numerimondes/gacp/main/gacp.sh
-
Make it executable:
chmod +x gacp.sh
-
Install it:
./gacp.sh --install-now
Simply run gacp
in any Git repository:
gacp
This will:
- Add all changes (
git add -A
) - Commit with an appropriate message
- Push to the remote repository
gacp [OPTION]
Options:
-h, --help Show help message
-v, --version Show version and check for updates
-e, --edit Force edit commit message
--update-now Update gacp to the latest version
# Basic usage - add, commit, push everything
gacp
# Force edit commit message
gacp -e
# Check version and updates
gacp -v
# Show help
gacp -h
- Single file changes: Uses
--no-edit
for quick commits - Multiple file changes: Prompts to edit commit message
- Force edit mode: Use
-e
flag to always edit commit message
- Automatically detects if you're in a Git repository
- Checks for changes before attempting to commit
- Handles both tracked and untracked files
- Automatically pushes to existing remotes
- Sets up upstream tracking for new branches
- Gracefully handles repositories without remotes
- Built-in version checking
- Automatic updates with
--update-now
- Cache-busting for reliable downloads
- Change Detection: Checks for modified, staged, and untracked files
- Add All Changes: Runs
git add -A
to stage everything - Smart Commit:
- Single file: Quick commit with
--no-edit
- Multiple files: Option to edit commit message
- Force edit: Always opens editor with
-e
flag
- Single file: Quick commit with
- Push: Automatically pushes to remote repository
GACP installs itself to ~/.gacp/gacp.sh
and adds itself to your shell configuration:
- Bash: Adds to
~/.bashrc
- Zsh: Adds to
~/.zshrc
After installation, restart your shell or run:
exec $SHELL
- Git (obviously)
- Bash or Zsh
- curl (for installation and updates)
- Internet connection (for installation and updates)
To remove GACP:
-
Remove the installation directory:
rm -rf ~/.gacp
-
Remove from shell configuration:
# For Bash sed -i '/source.*gacp\.sh/d' ~/.bashrc # For Zsh sed -i '/source.*gacp\.sh/d' ~/.zshrc
-
Restart your shell:
exec $SHELL
If gacp
command is not found after installation:
-
Check if it's in your shell config:
grep gacp ~/.bashrc ~/.zshrc
-
Manually source the script:
source ~/.gacp/gacp.sh
-
Restart your shell:
exec $SHELL
If updates fail:
- Check internet connection
- Try manual reinstallation:
curl -sL https://raw.githubusercontent.com/numerimondes/gacp/main/gacp.sh -o gacp.sh && chmod +x gacp.sh && ./gacp.sh --install-now
- Make sure you're in a Git repository:
git status
- Check if you have a remote configured:
git remote -v
- Ensure you have proper Git credentials set up
Contributions are welcome! Please feel free to submit issues, feature requests, or pull requests.
This project is open source and available under the MPL-2.0 license.
- v0.0.1: Latest development version
For issues and questions:
- Open an issue on GitHub
- Check the troubleshooting section above
- Review the help output:
gacp -h
El Moumen Yassine yassine@numerimondes.com ❤️ Made with love by numerimondes
GACP - Because git add . && git commit -m "update" && git push
is too long to type every time.
Save time, commit better, code happier with GACP !