Komunikaty commit w Git są często zaniedbywane. Wielu postrzega je jedynie jako zło konieczne do zapisywania zmian. Znaczące komunikaty commit są decydującym czynnikiem sukcesu projektu: zapewniają dobrą identyfikowalność zmian, efektywną współpracę zespołu i szybsze rozwiązywanie problemów. Nie ma powodu, aby komunikaty commit były przygotowywane automatycznie za pomocą sztucznej inteligencji.
Z pomocą tzw. Haki możliwe jest wykonywanie skryptów, np. w celu automatycznego testowania lub sprawdzania kodu pod kątem określonych zdarzeń podczas przepływu pracy Git. 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 modyfikuje model ChatGPT używany w linii \(5\) (w naszym przykładzie gpt-4o
Następnie uruchamiamy skrypt za pomocą 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 .