创建有意义且简洁的提交消息是良好开发工作流程的重要组成部分。这些消息有助于跟踪更改、了解项目历史以及与团队成员协作。但让我们承认这一点——编写提交消息有时可能是一项平凡的任务。在本文中,我们将引导您了解如何使用 OpenAI 的 ChatGPT 自动生成 Git 提交消息,以及如何从 macOS 系统上的任何目录运行此脚本。
要跟随,您需要:
首先,安装openai Python包:
pip install openai
接下来,将您的 OpenAI API 密钥设置为环境变量:
export OPENAI_API_KEY='your_openai_api_key'
这是Python脚本generate_commit_message.py:
#!/usr/bin/env python3 import subprocess from openai import OpenAI import os client = OpenAI(api_key=os.getenv("OPENAI_API_KEY")) def get_git_diff(): """Fetch the git changes.""" result = subprocess.run( ["git", "diff", "--staged"], stdout=subprocess.PIPE, text=True ) return result.stdout def generate_commit_message(changes): """Use OpenAI API to generate a commit message.""" response = client.chat.completions.create( model="gpt-4o-mini", messages=[ { "role": "system", "content": "You are an assistant that generates helpful and concise git commit messages.", }, { "role": "user", "content": f"Generate a Git commit message for the following changes, following the Git commit standards:\n\n{changes}", }, ], max_tokens=350, # Adjust as needed temperature=0.5, ) return response.choices[0].message.content.strip() def main(): # Fetch the changes changes = get_git_diff() if not changes: print("No staged changes found.") return # Generate commit message commit_message = generate_commit_message(changes) print(f"Generated Commit Message: {commit_message}") # Optional: Automatically commit with the generated message # subprocess.run(["git", "commit", "-m", commit_message]) if __name__ == "__main__": main()
将此脚本保存到名为generate_commit_message.py 的文件中。
要使脚本可执行并可从任何目录访问,请按照以下步骤操作:
使脚本可执行:
chmod +x /path/to/your/generate_commit_message.py
将脚本移动到您的路径中的目录:
sudo mv /path/to/your/generate_commit_message.py /usr/local/bin/generate_commit_message
确保在您的环境中设置 OpenAI API 密钥:
将以下行添加到您的 shell 配置文件(例如 .bash_profile、.zshrc 或 .bashrc):
export OPENAI_API_KEY='your_openai_api_key'
重新加载您的个人资料:
source ~/.bash_profile # or source ~/.zshrc or source ~/.bashrc
通过运行以下命令确保您已进行更改:
git add .
然后从任意目录执行您的脚本:
generate_commit_message
您应该会在终端中看到生成的提交消息。
通过利用 ChatGPT 和简单的 Python 脚本,您可以自动生成有意义的 Git 提交消息。这不仅可以节省时间,还可以确保您的提交历史记录内容丰富且有据可查。使脚本可以从 macOS 上的任何目录执行可以进一步简化您的工作流程。您可以随意自定义脚本以更好地满足您的需求或扩展其功能。快乐编码!
以上是使用 ChatGPT 自动执行 Git 提交消息的详细内容。更多信息请关注PHP中文网其他相关文章!