Giter Club home page Giter Club logo

gitp's Introduction

GitParts (gitp)

GitParts is a suite of drop-in Git automation tools designed to accelerate your development workflow.

Features

  • [ git commit ]: Auto-generate comprehensive commit messages (with subject and description) based on your staged changes. Never commit 'asdkjldgq' again.
  • [ git checkout -i ]: Automatically generate branch names from your intent and existing branch naming style.
  • [ git branch ]: Display branch descriptions alongside branch names when listing branches.
  • [ git log --backfill ]: Back-fill your logs to enhance the quality of commit messages in your git tree.
  • [ git * ]: Full drop-in replacement for Git.

Prerequisites

  • OpenAI API key
  • Bash

Get Started

# Clone the Git repository
git clone https://github.com/JackHopkins/gitp.git

# Change to the cloned directory:
cd gitp

# Make the installation script executable:
chmod +x install.gitp.sh

# Run the installation script:
./install.gitp.sh

The script will install any necessary dependencies (such as jq), copy the gitp script to /usr/local/bin, set up your GPT API key as an environment variable, and create an alias for the git command to call gitp instead.

After completing these steps, the installation is complete, and gitp will now intercept all Git commands.

Examples

Commit changes

Auto-generate best-practice git commit messages from your staged commits.

# Stage changes for commit
git add .

# Execute commit
git commit
Add instructions for installing and using GitParts

Added detailed instructions for installing and using GitParts. The README now includes a list of prerequisites, step-by-step installation guide, a comprehensive list of features, and examples of how to use GitParts for committing changes and creating new branches. Additionally, the README now includes a section on how to uninstall GitParts, adding a complete guide for users who want to remove the tool.

Optionally use the '--intent' (or '-i') flag when committing, to better include information relevant to the reader.

Create a new branch

Use the -i flag followed by a description of the purpose of branch to autogenerate in the style of existing branch names:

git checkout -i "Implement new user authentication feature"
Switched to a new branch 'feature/new-user-authentication'

Uninstall

# Change to the cloned directory:
cd gitp

# Make the un-installation script executable:
chmod +x uninstall.gitp.sh

# Run the uninstallation script:
./uninstall.gitp.sh

gitp's People

Contributors

jackhopkins avatar jackwwhopkins avatar

Stargazers

Martin Hopkins avatar whoiskatrin avatar

Watchers

 avatar

gitp's Issues

/usr/local/bin/gitp: line 23: /usr/bin/curl: Argument list too long

figma-to-tailwind git:(main) ✗ git add .
➜  figma-to-tailwind git:(main) ✗ git commit
/usr/local/bin/gitp: line 23: /usr/bin/curl: Argument list too long
Aborting commit due to empty commit message.
Removing note for object 243b231c80c4a885f71f4e5c06d4ceb2359bf251

Context: had about 20 new files to add and commit.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.