Komunikaty commit w Gicie są często zaniedbywane. Wielu postrzega je jedynie jako zło konieczne do zapisywania zmian. Jednak sensowne komunikaty commit są kluczowym czynnikiem sukcesu projektu: zapewniają dobrą identyfikowalność zmian, efektywną współpracę w zespole i szybsze naprawianie błędów. To wystarczający powód, aby komunikaty commit były przygotowywane automatycznie za pomocą sztucznej inteligencji.
Z pomocą tzw. Haki Czy można używać skryptów np testy automatyczne lub aby uruchomić przegląd kodu dla określonych zdarzeń podczas przepływu pracy Git. Strona klienta prepare-commit-msg-Hak jest natychmiastowy przed Na przykład następujący skrypt bash musi zostać wykonany w folderze ~/git-template/hooks/prepare-commit-msg zostać złożony:
0d311d3e3743f65bd1f7fa370c3b3848
Następnie dodaj Klucz API OpenAI w linii \(4\) i, jeśli to konieczne, zmodyfikuj model ChatGPT zastosowany w linii \(5\) (w naszym przykładzie gpt-4o). Następnie sprawiamy, że skrypt jest wykonywalny chmod +x ~/git-template/hooks/prepare-commit-msg i ustawić za pomocą git config --global core.hooksPath ~/git-template/hooks domyślny katalog dla haków Git w globalnej konfiguracji Git.
Ważne: Oznacza to, że nie musisz już tworzyć lokalnych haków Git w .git/hooks, wepchnąć się ~/git-template/hooks Jeśli chcesz nadal mieć haki specyficzne dla projektu, możesz git config core.hooksPath .git/hooks && ln -s ~/git-template/hooks/prepare-commit-msg .git/hooks/prepare-commit-msg w odpowiednim projekcie. Jeśli chcesz ponownie dezaktywować skrypt, po prostu git config --global --unset core.hooksPath.
Skrypt generuje dla różnica wszystkich oznaczonych plików automatycznie tworzy odpowiedni szablon dla komunikatu zatwierdzenia: git add -A . && git commit. Alternatywnie można również wysłać pustą wiadomość ("."), która zostanie automatycznie nadpisana: git add -A . && git commit -m "." && git push – ale uwaga: walidacja wiadomości nie jest już tutaj możliwa.
Modele AI są teraz tak zaawansowane, że mogą generować bardzo rozsądne, automatyczne komunikaty commit na podstawie wprowadzonych zmian. Dostosowując monit (zaczynając od wiersza \(13\) możesz dalej optymalizować zwrot i dostosowywać go do swoich potrzeb. Nawiasem mówiąc, skrypt działa również w narzędziach Git UI, takich jak Tower i SmartGit .