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.
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.
- Adding all files to the commit with the
-
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.
- Python 3.9 or higher
- Poetry for dependency management
- pipx for isolated Python package installations
- Clone the repository:
git clone https://github.com/mikelsanchez/GitBlend.git
cd GitBlend
- Run the installation script:
./install.sh
This script will:
- Build the package using Poetry.
- Install the package using pipx.
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 ofgitblend
for all commands. For example:gib list-tags gib create-tag v1.2.0 --message "Release v1.2.0"
gitblend list-tags
: List all Git tags in the current repository.gitblend create-tag <tag_name> --message "<tag_message>" [--push]
: Create a new Git tag with an optional push to the remote repository.gitblend delete-tag <tag_name>
: Delete a Git tag both locally and remotely.gitblend rename-tag <old_tag> <new_tag>
: Rename an existing Git tag both locally and remotely.
gitblend show-remotes
: Show all Git remotes for the current repository.gitblend set-remote-url <remote> <url>
: Change the URL of a Git remote (e.g., origin).
gitblend update-all [--path <path>] [--only-clean]
: Update all Git repositories on your computer. Use--only-clean
to skip repositories that are not on themain
branch or have uncommitted changes.
gitblend commit --message "<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 <number_of_commits> [--push]
: Revert the last specified number of commits. Use--push
to push the changes to the remote repository after reverting.
gitblend --help
: Show help information for the GitBlend CLI.
To uninstall GitBlend, run the uninstallation script:
./uninstall.sh
This script will:
- Uninstall the package using pipx.
- Clean up any residual build files.
This project is licensed under the GNU GPL v3. See the LICENSE file for details.
Contributions are welcome! Feel free to open issues or submit pull requests.