Jak czytać ostatni komentarz do zatwierdzenia?

400

Często podczas commit ( $ git -commit -m "") chciałbym przeczytać mój ostatni komentarz, aby zapamiętać poczynione postępy. Czy istnieje prosty sposób na bezpośredni dostęp do ostatniej wiadomości zatwierdzenia za pomocą wiersza polecenia? (Używam systemu Windows).

Whamsicore
źródło
6
Jeśli jest to zwykłe działanie, wykonaj alias(np. wherewasi;-) dla wybranego rozwiązania / wiersza polecenia. Możesz również podać informacje o oddziale.
Philip Oakley,

Odpowiedzi:

755
git show

jest najszybszy do pisania, ale pokazuje także różnicę.

git log -1

jest szybki i prosty.

git log -1 --pretty=%B

jeśli potrzebujesz tylko komunikatu zatwierdzenia i nic więcej.

CB Bailey
źródło
2
Format% B był tym, czego potrzebowałem, aby nie wciąć komunikatu zatwierdzenia. I tak, @Juh_, mimo że git gui nie jest dla ciebie zawijany, dobrym pomysłem jest użycie 80-kolumnowego tekstu w wiadomościach zatwierdzających, a nie wiersz po akapicie.
Peter Cordes,
4
@Juh_ Możesz pokazać całą wiadomość za pomocą git log -1 --pretty=%B | cat, ale, jak powiedział Peter, powinieneś spróbować utrzymać ją do 80 znaków.
Ruckus T-Boom
3
@Juh_, to jest trochę za późno, ale jeśli chcesz, aby komunikat zatwierdzenia był zawijany w linię, po prostu catgit log -1 --pretty= | cat
potokuj
8
Ktoś, kto szuka więcej informacji na temat symboli zastępczych procent, patrz: kernel.org/pub/software/scm/git/docs/… (przewiń w dół do format:<string>).
imme
3
Jeśli dodasz format:przedrostek %Bzgodnie z sugestią w dokumentacji doc, nie będzie on wyświetlał dodatkowych pustych linii na końcu danych wyjściowych:git log -1 --pretty=format:%B
Mariano Ruiz
84

Ogólnie:

git log -n

pokaże ci ostatnie nzatwierdzone wiadomości

Bardziej elegancko - jeśli chcesz mieć szybki przegląd swoich zobowiązań

git log --oneline -n

Spowoduje to wyświetlenie tylko pierwszego wiersza ostatnich nkomunikatów zatwierdzania.

Możesz zapisać to jako alias git lub alias powłoki za pomocą krótszego polecenia. Mam go w powłoce glog, na przykład, i mogę zobaczyć moje ostatnie 10 wiadomości zatwierdzenia glog -10.

Abizern
źródło
23

git log -1wyświetli najnowszy komunikat zatwierdzenia lub git log -1 --onelinejeśli chcesz tylko wyświetlać sha1 i powiązany komunikat zatwierdzenia.

Grzegorz Pakosz
źródło
Co z tym samym w rtęci?
Nevin Raj Victor,
14

Możesz użyć

git show -s --format=%s

Tutaj --formatwłącza się różne opcje drukowania, patrz dokumentacja tutaj . W szczególności %soznacza „podmiot”. Ponadto -soznacza --no-patch, co tłumi zawartość różnic.

Często używam

git show -s --format='%h %s'

gdzie %hoznacza krótki skrót zatwierdzenia

Innym sposobem jest

git show-branch --no-name HEAD

Wydaje się działać szybciej niż w drugą stronę.

Napisałem małe narzędzie, aby sprawdzić status wszystkich moich repozytoriów. Możesz go znaleźć na github .

nos
źródło
IMO jest to lepsze niż zaakceptowana odpowiedź dla wielu zatwierdzeń. Nie powoduje to dla mnie niepotrzebnego łamania linii. Wiele zatwierdzeń (tj. W przeszłości 5) można pokazać, włączając -5, tj.git show -s --format=%s -5
Sigmatics
10

git log -1 branch_name pokaże ci ostatnią wiadomość z określonej gałęzi (tzn. niekoniecznie gałęzi, w której aktualnie jesteś).

CJ Dennis
źródło
7

Aby uzyskać coś bardziej czytelnego, uruchom tę komendę raz:

git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"

aby po uruchomieniu:

git lg

masz dobry odczyt. Aby wyświetlić tylko ostatni wiersz:

git lg -1

Rozwiązanie znalezione tutaj

sungiant
źródło
4

Zacząć z git log -1 --pretty='%s'

Ale poniższy obejmuje wszystkie przypadki,

git log --pretty='format:%Creset%s' --no-merges -1

  • Brak niepożądanych białych znaków
  • Odrzuca zatwierdzenia scalania
  • Brak zatwierdzenia, data, wyświetla tylko wiadomości.

Wklej i przekonaj się sam

nehem
źródło
3

ja to zrobiłem

git reflog -1 | sed 's/^.*: //'
LukePOLO
źródło
0

Właśnie znalazłem obejście z powłoką, pobierając poprzednie polecenie.

Naciśnij Ctrl-R, aby wyświetlić polecenie wyszukiwania do tyłu:

reverse-i-search

Następnie zacznij pisać git commit -m , to doda to jako polecenie wyszukiwania, a to spowoduje, że poprzedni git commit wyświetli komunikat:

reverse-i-search`git commit -m`: git commit -m "message"

Wchodzić. Otóż ​​to!

(testowany w powłoce Ubuntu)

Steve S.
źródło