Artfully create commit messages that reflect the essence of your code changes π¨π. Craftsmanship for your commits π¨βπ¨. Unleash the power of language models to automate your Git commit messages ππ€. With Commit, save time β° and generate meaningful commit messages based on your code changes π.
The average person types around 40 words per minute. Imagine an AI has written 573 words in commit messages, a human would have taken approximately 14.32 minutes to write the same quantity of words.
If we calculate the time taken for a human to make an individual commit, assuming it takes around 5 minutes per commit on average, for the 29 commits made by AI, a human would have taken approximately 145 minutes or 2.42 hours.
Hence, in total (commit making and message writing time), a human would have taken approximately 2.62 hours. π°οΈ Given that all this work was done by an AI, we can say 2.62 hours of human-time was saved.
By extrapolating these numbers, if 1000 commits were made, it would save approximately 90 hours of human-time assuming the ratio of words per commit remains constant. If a software development team consists of 5 people, this time saving allows for roughly 18 additional hours per person, which increases productivity, efficiency, reduces burnout and leaves additional time for creative, challenging tasks or problem solving that AI canβt do.π©βπ»π¨βπ»
This not only displays AIβs potential role in tech automation, but also shows how it helps in giving human employees the bandwidth to focus on work that requires human intelligence and creativity, creating a more balanced and efficient work environment. π’ππ
If we take into consideration the larger tech industry where millions of commits are made daily, weβre potentially looking at thousands of hours saved per day by utilising AI in this manner! π‘+ AI bot saves the day again! ππ
Fun Fact: Using an AI to write commits and other automations can reduce the risk of Repetitive Strain Injury (RSI), a common condition affecting people who perform repetitive tasks, like typing, for extended periods. π»π
Before running AutoCommit, itβs advisable to set a few environment variables π:
OPENAI_URL
: Override openai api eg: azure openai (Optional; Default: openai url)OPENAI_API_KEY
: The API key for the GPT-4 model (π¨ Required).OPENAI_MODEL
: Specify a different language model π (Optional; Default: gpt-4
).FINE_TUNE_PARAMS
: Additional parameters for fine-tuning the model output βοΈ (Optional; Default: {}
).Add these environment variables by appending them to your .bashrc
, .zshrc
, or other shell configuration files π:
#For Models hosted on Azure
export OPENAI_URL=https://apiendpoint.openai.azure.com
export OPENAI_MODEL=llm-large
export OPENAI_API_KEY=your-openai-api-key-here
export FINE_TUNE_PARAMS='{"temperature": 0.7}'
For Models hosted on OpenAI - Get the API Keys from https://platform.openai.com/account/api-keys :footprints: https://medium.sankhe.com/step-by-step-guide-to-obtaining-an-openai-api-token-a1b4cba4d294 :footprints:
export OPENAI_URL=https://api.openai.com/v1/
export OPENAI_API_KEY=your-openai-api-key-here
export OPENAI_MODEL=gpt-4
Or, you can set them inline before running the AutoCommit command π±οΈ:
OPENAI_URL=your-openai-api-key-here OPENAI_MODEL=gpt-4 FINE_TUNE_PARAMS='{"temperature": 0.7}' git auto-commit
For an end-to-end installation experience, execute π:
bash <(curl -s https://raw.githubusercontent.com/ghcli/gh-commit/main/install.sh)
This comprehensive script accomplishes the following π:
gh-commit
binary β¬οΈ.auto-commit
π·οΈ.To upgrade to the latest version of AutoCommit, execute π:
gh extensions upgrade --all
To auto-generate a commit message, type β¨οΈ:
git auto-commit
For the same functionality through GitHub CLI, execute π€:
gh commit #dry-run View the commit message without commit
git commit -m "$(gh commit)" #git commit with the commit message
auto-commit
Both commands invoke a Git diff, pass the changes to GPT-4, and craft a commit message based on the modelβs output π¬π.