Chciałbym sprawdzić wiadomość commit przed zatwierdzeniem git. Używam do tego wstępnego zatwierdzenia, ale nie mogłem znaleźć sposobu, aby uzyskać komunikat zatwierdzenia w skrypcie .git/pre-commit. Jak mogę to zdobyć?pobierz wiadomość zatwierdzenia w git hook
Odpowiedz
W haku przed zatwierdzeniem wiadomość zatwierdzenia nie została jeszcze utworzona. Prawdopodobnie chcesz zamiast tego użyć jednego z haków prepare-commit-msg
lub commit-msg
. Jest nice section in Pro Git w kolejności, w której uruchamiane są te zaczepy i co zwykle można z nimi zrobić.
Możesz wykonać następujące czynności w haku pre-receive
(po stronie serwera), a to wyświetli informację o wersji.
old, new, branch = sys.stdin.read().split()
proc = subprocess.Popen(["git", "rev-list", "--oneline","--first-parent" , "%s..%s" %(old, new)], stdout=subprocess.PIPE)
commitMessage=str(proc.stdout.readlines()[0])
Wygląda interesująco. Ale bez żadnej informacji o tym, jaki to jest język lub cokolwiek innego, nie jest to zbyt użyteczne. – conradkdotcom
To jest w Pythonie. – ArekBulski
Zaimplementowałem to w haku commit-msg
. Zobacz documentation.
commit-msg
This hook is invoked by git commit, and can be bypassed with the --no-verify option.
It takes a single parameter, the name of the file that holds the proposed commit log message.
Exiting with a non-zero status causes the git commit to abort.
Pod my_git_project/.git/hooks
dodałem ten plik commit.msg
(musi być to nazwa). W tym pliku dodałem następującą zawartość basha, która dokonała sprawdzenia poprawności.
#!/usr/bin/env bash
INPUT_FILE=$1
START_LINE=`head -n1 $INPUT_FILE`
PATTERN="^(MYPROJ)-[[:digit:]]+: "
if ! [[ "$START_LINE" =~ $PATTERN ]]; then
echo "Bad commit message, see example: MYPROJ-123: commit message"
exit 1
fi
- 1. Jak zapewnić przygotowaną wiadomość zatwierdzenia git?
- 2. Jak edytować wiadomość zatwierdzenia git merge
- 3. Numer wydania Jira w komunikacie zatwierdzenia git
- 4. Git global hook customization
- 5. Jak przechwycić wiadomość zatwierdzenia git i uruchomić akcję
- 6. Jak ustawić aktualną datę jako wiadomość zatwierdzenia git
- 7. Drukuj komunikat zatwierdzenia danego zatwierdzenia w git
- 8. PowerShell Git Kod Hook Wyjście
- 9. Usuń puste zatwierdzenia w git
- 10. Dzielenie pierwszego zatwierdzenia w git
- 11. Git: pobranie określonego zatwierdzenia
- 12. Git usuń historię zatwierdzenia
- 13. Git log przed pewną datą zatwierdzenia
- 14. Git przed zatwierdzeniem hook nie działa w systemie Windows
- 15. Git - Co to jest identyfikator zatwierdzenia git?
- 16. Dziennik zatwierdzania git look dla identyfikatora zatwierdzenia
- 17. Zmiana pierwszego zatwierdzenia projektu za pomocą Git?
- 18. git pre-receive hook odmówił z heroku
- 19. Błąd Git push pre-receive hook odrzucono
- 20. Git Hook post-Receive dla witryny WWW
- 21. zmiana komentarza git zatwierdzenia pushed
- 22. Git zatwierdza komunikat zatwierdzenia i nic więcej?
- 23. git wróć do pewnego zatwierdzenia
- 24. Otrzymuj rodziców zatwierdzenia scalenia w git
- 25. Pchanie bez zatwierdzenia w Mercurial lub Git
- 26. Dlaczego data zatwierdzenia w git jest nieaktualna?
- 27. Połącz lokalne zatwierdzenia Git w jedno zatwierdzenie dla git-svn
- 28. Jak uzyskać najnowszą wiadomość zatwierdzenia git i zapobiec kompilacji jenkins, jeśli komunikat commit zawiera [ci skip]?
- 29. Pobierz git po nazwie oddziału \ id z git api
- 30. Pobierz datę i godzinę tagów git
Należy pamiętać, że są to skrypty po stronie klienta, w przypadku skryptów po stronie serwera może być konieczne użycie opcji 'pre-receive'. –