Uruchomiłem ten skrypt powłoki za każdym razem, gdy robię git commit -m "msg"
, który zapisuje dziennik zatwierdzenia do pliku php. Chcę, aby zawierała również bieżący komunikat zatwierdzenia, który robię w tym czasie.Używanie haka Git do tworzenia dziennika zatwierdzeń i dodawania bieżącego zatwierdzenia
mój skrypt:
#!/bin/sh
path="path/to/gitlog.php"
echo "<?php $git_log = array(" > $path
git log --date=iso --pretty=format:'array("%h","%an","%ad","%s"),' >> $path
echo ");" >> $path
gitlog.php zostanie zapisany w moim repozytorium, które będzie następnie git push
ja.
Obecnie mam go w hakowaniu "przed popełnieniem błędu", czy istnieje sposób, aby uzyskać przesłanie wiadomości w tym haczyku?
Mój przypadek użycia
jestem jedyny deweloper w projekcie. Czas jest krótki! to dla innych, którzy są zaangażowani w projekt, aby zobaczyć postępy i przeczytać opisowe dzienniki zatwierdzeń bez obawy, że muszę się podwoić. Dziennik jest wysyłany do panelu kontrolnego, do którego wszyscy mają dostęp.
Git nie jest uruchomiony na serwerze na desce rozdzielczej, a pliki są wdrażane z repozytorium firmy hostingowej (łodygi)
Hak przed zatwierdzeniem działa przed zatwierdzeniem, więc nie może zawierać samego zatwierdzenia. Możesz dokonać nowego, dodatkowego zatwierdzenia * po * dokonaniu zatwierdzenia, a nawet możesz uczynić to nowe zatwierdzenie innym rodzicem niż ostatnie zatwierdzenie (tak działa 'git commit --amend'), ale nie możesz zmienić istniejącego zatwierdzenia. Jeśli próbujesz dołączyć informacje o wersji, zwykłą metodą z git jest zachowanie tego pliku poza git, szczególnie jeśli cały plik jest generowany z zatwierdzenia (jak ten byłby). Aby wyświetlić stare zatwierdzenie, sprawdź to, a następnie uruchom "generuj wersję". – torek
@torek, thks - czy nie ma haka, który zostanie wywołany przed wykonaniem faktycznego zatwierdzenia, i zostanie przekazany dane wiadomości, że mogę ręcznie dołączyć komunikat zatwierdzenia i datę do dziennika, ponownie wykonać "dodanie git". " i wreszcie kontynuować z popełnieniem? – digout
Aha, tak, istnieje hak 'commit-msg'. Ma to na celu umożliwienie zmiany wiadomości (w celu sformatowania standardów) lub odrzucenie zatwierdzenia, jeśli wiadomość jest błędna. Nigdy nie używałam tego haka samodzielnie, ale działa on we właściwym momencie procesu zatwierdzania. Polecam nie robić 'git add .' (który może dodawać pliki, które celowo zostawiasz zmodyfikowane, ale nie wystawiane), ale' git add $ path' może również działać tutaj. (Proponuję także testowanie z zatwierdzeniami konkretnych plików i/lub 'git commit -a', aby sprawdzić, czy działa poprawnie.) – torek