建立有意義且簡潔的提交訊息是良好開發工作流程的重要組成部分。這些訊息有助於追蹤變更、了解專案歷史以及與團隊成員合作。但讓我們承認這一點——撰寫提交訊息有時可能是一項平凡的任務。在本文中,我們將引導您了解如何使用 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中文網其他相關文章!