Skip to content

NotTheRealWallyx/GitBlend

Repository files navigation

GitBlend

Builds CodeFactor codecov

GitBlend image

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 for dependency management
  • pipx for isolated Python package installations

Steps

  1. Clone the repository:
git clone https://github.com/mikelsanchez/GitBlend.git
cd GitBlend
  1. Run the installation script:
./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:

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 <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.

Remote Management

  • 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).

Repository Management

  • gitblend update-all [--path <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 "<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.

General

  • gitblend --help: Show help information for the GitBlend CLI.

Uninstallation

To uninstall GitBlend, run the uninstallation script:

./uninstall.sh

This script will:

  1. Uninstall the package using pipx.
  2. 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.

About

Python CLI with Git utilities

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors 2

  •  
  •