意味のある簡潔なコミット メッセージを作成することは、優れた開発ワークフローの重要な部分です。これらのメッセージは、変更の追跡、プロジェクト履歴の理解、チーム メンバーとのコラボレーションに役立ちます。しかし、それは認めましょう。コミット メッセージを書くのは、場合によっては平凡な作業になることがあります。この記事では、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
スクリプトを PATH 内のディレクトリに移動します:
sudo mv /path/to/your/generate_commit_message.py /usr/local/bin/generate_commit_message
OpenAI API キーが環境に設定されていることを確認します:
次の行をシェル プロファイル (.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
生成されたコミット メッセージがターミナルに表示されるはずです。
単純な Python スクリプトで ChatGPT を活用することで、意味のある Git コミット メッセージの生成を自動化できます。これにより、時間が節約されるだけでなく、コミット履歴が有益かつ十分に文書化されるようになります。 macOS 上の任意のディレクトリからスクリプトを実行できるようにすると、ワークフローがさらに合理化されます。ニーズに合わせてスクリプトを自由にカスタマイズしたり、機能を拡張したりできます。コーディングを楽しんでください!
以上がChatGPT を使用して Git コミット メッセージを自動化するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。