Potrzebuję polecenia hydraulicznego, aby wydrukować komunikat zatwierdzenia jednego podanego zatwierdzenia - nic więcej, nic mniej.
Potrzebuję polecenia hydraulicznego, aby wydrukować komunikat zatwierdzenia jednego podanego zatwierdzenia - nic więcej, nic mniej.
Odpowiedzi:
To nie jest „hydraulika”, ale zrobi dokładnie to, co chcesz:
$ git log --format=%B -n 1 <commit>
Jeśli absolutnie potrzebujesz polecenia „hydraulika” (nie wiesz, dlaczego jest to wymóg), możesz użyć rev-list
:
$ git rev-list --format=%B --max-count=1 <commit>
Chociaż rev-list
wydrukuje również zatwierdzenie sha (w pierwszym wierszu) oprócz komunikatu zatwierdzenia.
%s%b
zamiast %B
(na Linux
%B
jest poprawnym specyfikatorem (przynajmniej w Git 1.7.2, nie jestem pewien, kiedy został dodany).
%B
został dodany jakiś czas po wersji 1.7.1 (prawdopodobnie w wersji 1.7.1.1).
$ git log --format=%B -n 1 <commit> | cat -
To da ci komunikat zatwierdzenia i brak zatwierdzenia sha, i możesz go „potokować”. Właściwie używam tego jako części mojego skryptu CI.
git show
jest bardziej poleceniem hydraulicznym git log
i ma te same opcje formatowania:
git show -s --format=%B SHA1
%s
zamiast %B
.
Nie hydraulika, ale mam je w moim .gitconfig:
lsum = log -n 1 --pretty=format:'%s'
lmsg = log -n 1 --pretty=format:'%s%n%n%b'
To „ostatnie podsumowanie” i „ostatnia wiadomość”. Możesz podać zatwierdzenie, aby uzyskać podsumowanie lub komunikat o tym zatwierdzeniu. (Używam 1.7.0.5, więc nie mam% B).
To da ci bardzo zwartą listę wszystkich wiadomości dla określonego czasu.
git log --since=1/11/2011 --until=28/11/2011 --no-merges --format=%B > CHANGELOG.TXT
Zacząłem używać
git show-branch --no-name <hash>
Wydaje się być szybszy niż
git show -s --format=%s <hash>
Oba dają ten sam wynik
git show -s --oneline <commit>