https://github.com/nottherealwallyx/gitblend
Python CLI with Git utilities
https://github.com/nottherealwallyx/gitblend
git python-cli
Last synced: 4 months ago
JSON representation
Python CLI with Git utilities
- Host: GitHub
- URL: https://github.com/nottherealwallyx/gitblend
- Owner: NotTheRealWallyx
- License: gpl-3.0
- Created: 2025-04-01T16:35:03.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-10-07T08:13:22.000Z (4 months ago)
- Last Synced: 2025-10-07T10:13:52.210Z (4 months ago)
- Topics: git, python-cli
- Language: Python
- Homepage:
- Size: 1.51 MB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# GitBlend
[](https://github.com/NotTheRealWallyx/GitBlend/actions/workflows/ci_entrypoint.yml) [](https://www.codefactor.io/repository/github/nottherealwallyx/gitblend) [](https://codecov.io/gh/NotTheRealWallyx/GitBlend)

GitBlend is a Git utility tool that combines Git and GitHub commands to streamline your workflow. It provides a simple CLI interface for managing Git operations, such as deleting tags both locally and remotely.
## Features
GitBlend is a versatile tool designed to simplify your Git and GitHub workflows. Here are some of the key features:
- **Tag Management**: Manage Git tags effortlessly with commands to create, delete, rename, and list tags. Whether you need to annotate a release, clean up old tags, or rename an existing tag, GitBlend provides a streamlined interface for these operations.
- Create annotated tags with custom messages.
- Push tags to remote repositories.
- Delete tags both locally and remotely.
- Rename tags while preserving their history.
- List all tags in your repository.
- **Repository Management**: Keep your repositories up-to-date with the `update-all` command. This command:
- Recursively finds all Git repositories on your computer.
- Updates repositories to the latest changes on the `main` branch.
- Optionally skips repositories with uncommitted changes or those not on the `main` branch.
- **Commit Management**: Simplify the process of creating commits with the `commit` command. This includes:
- Adding all files to the commit with the `--add` flag.
- Creating commits even when there are no changes using the `--allow-empty` flag.
- **Remote Management**: Easily manage your repository remotes with dedicated commands.
- View all configured Git remotes and their URLs with a single command.
- Change the URL of any remote (e.g., origin) directly from the CLI.
- **General Commands**: Access helpful utilities like:
- Displaying the current version of GitBlend.
- Viewing detailed help for all available commands.
## Installation
### Prerequisites
- Python 3.9 or higher
- [Poetry](https://python-poetry.org/) for dependency management
- [pipx](https://pypa.github.io/pipx/) for isolated Python package installations
### Steps
1. Clone the repository:
```bash
git clone https://github.com/mikelsanchez/GitBlend.git
cd GitBlend
```
2. Run the installation script:
```bash
./install.sh
```
This script will:
- Build the package using Poetry.
- Install the package using pipx.
## Usage
After installation, you can use the `gitblend` command from your terminal, followed by the desired command.
> **Note**: You can also use the shorthand `gib` instead of `gitblend` for all commands. For example:
>
> ```bash
> gib list-tags
> gib create-tag v1.2.0 --message "Release v1.2.0"
> ```
### Available Commands
#### Tag Management
- `gitblend list-tags`: List all Git tags in the current repository.
- `gitblend create-tag --message "" [--push]`: Create a new Git tag with an optional push to the remote repository.
- `gitblend delete-tag `: Delete a Git tag both locally and remotely.
- `gitblend rename-tag `: Rename an existing Git tag both locally and remotely.
#### Remote Management
- `gitblend show-remotes`: Show all Git remotes for the current repository.
- `gitblend set-remote-url `: Change the URL of a Git remote (e.g., origin).
#### Repository Management
- `gitblend update-all [--path ] [--only-clean]`: Update all Git repositories on your computer. Use `--only-clean` to skip repositories that are not on the `main` branch or have uncommitted changes.
#### Commit Management
- `gitblend commit --message "" [--add] [--sign]`: Create a new Git commit with a message. Use `--add` to stage all files before committing. Use `--sign` to sign the commit with your GPG key.
- `gitblend revert [--push]`: Revert the last specified number of commits. Use `--push` to push the changes to the remote repository after reverting.
#### General
- `gitblend --help`: Show help information for the GitBlend CLI.
## Uninstallation
To uninstall GitBlend, run the uninstallation script:
```bash
./uninstall.sh
```
This script will:
1. Uninstall the package using pipx.
1. Clean up any residual build files.
## License
This project is licensed under the GNU GPL v3. See the LICENSE file for details.
## Contributing
Contributions are welcome! Feel free to open issues or submit pull requests.