W tym artykule omówimy niektóre zaawansowane opcje formatowania i drukowania dzienników zmian w celu pobrania potrzebnych informacji z historii dziennika projektu. Skoro już wiemy, prowadzi dziennik zmian wprowadzonych do historii projektu, teraz zbadamy więcej sposobów, w jakie polecenie „git log” jest pomocne.
Po pierwsze, przechodzę do / sprawdzam gałąź „feature1”, aby uzyskać wygodną i krótszą historię.
Użyj poleceń -
$cd myProj
–Przełącz się na projekt git
$funkcja kasy git 1
–Skocz do gałęzi „feature1”
1. Zatwierdź formatowanie
1.1 Wydrukuj zawartość wyjściową w podanym formacie
Składnia: git log --pretty [=]
gdzie, może być jednym z jedna linia, krótki, średni, pełny, folarz, e-mail, surowy, i format:
Kiedy = część jest pominięta, domyślnie średni.
1.1.1 -pretty = oneline
Całkiem drukuj dziennik zatwierdzeń w „jednej linii”
Komenda: git log --pretty = oneline
Formatuje dane wyjściowe w kolejności:
1.1.2 -pretty = short
Formatuj dane wyjściowe zatwierdzenia jako „krótkie” w formacie:
zatwierdzenie (refname)
Autor:
1.1.3 - ładna = średnia
Komenda: git log --pretty = medium
Wydrukuj wynik zatwierdzenia w formacie „średni”:
popełnić
Autor :
Data:
1.1.4 -pretty = full
Komenda: git log --pretty = full
Dane wyjściowe mają format:
zatwierdzenie (refname)
Autor:
Popełnić:
1.1.5 - ładna = pełniejsza
Komenda: git log --pretty = fuller
zatwierdzenie (refname)
Autor:
Data autora :
Popełnić:
CommitDate:
1.1.6 –pretty = e-mail
Komenda: git log --pretty = email
Wydrukuj dane wyjściowe dziennika w formacie e-mail:
Od
Od:
Data:
Przedmiot: [ŁATA]
1.1.7 –pretty = raw
Komenda: git log --pretty = raw
Surowy format wyjściowy dziennika pokazuje całe zatwierdzenie dokładnie tak, jak jest zapisane w obiekcie zatwierdzenia.
popełnić
drzewo
rodzic
autor
popełnić
1.1.8 –format:: Formatowanie niestandardowe
Format umożliwia określenie, które informacje o obiekcie zatwierdzenia mają zostać wydrukowane w dzienniku wyjściowym zatwierdzenia
Rozważmy różne symbole zastępcze, które zapewnia ta opcja, podobnie jak funkcja „C printf” za pomocą fragmentów kodu:
Komenda: git log --pretty = format: '% h% ad | % s% d [% an] '--date = short
Format wyjściowy:
| [imię autora]
% h = Skrócone identyfikatory hash-id / sha1commit
% H = długie identyfikatory sha-1
%do = data autora
% s = zatwierdzić wiersz tytułu tematu
%re = nazwy wskaźników referencyjnych (gałęzi, znaczników)
%na = nazwisko autora
-data = short: Drukuj tylko datę, a nie godzinę w czytelnym formacie
A teraz co powiesz na uczynienie tego wyjścia bardziej przyjaznym dla człowieka przy użyciu kolorów.
Komenda:
git log --pretty = format: '% C (żółty)% h% Creset% ad | % Cgreen% s% Creset% Cred% d% Creset% Cblue [% an] '--date = short
Inne symbole zastępcze użyte w powyższym fragmencie kodu to:
% C (żółty) : Zmień kolor następującego sznurka na żółty
% Creset : Zresetuj następujący ciąg z powrotem do domyślnego (białego) koloru
% Cgreen : zmień następujący ciąg na zielony
%Zgaduję: Zmień następujący ciąg na czerwony
% Cblue: Spraw, aby imię autora było niebieskie
Nie musisz za każdym razem pamiętać i pisać całego polecenia, wystarczy użyć krótkiej nazwy jako alias git jak pokazano niżej:
Komenda:
git config --global alias.c-hist 'log --pretty = format:'% C (żółty)% h% Creset% ad | % Cgreen% s% Creset% Cred% d% Creset% Cblue [% an] '--date = short'
„C-hist” reprezentuje do ustomizowane hist ory
Tak więc, jak można było zauważyć, ustawiam mój globalny konfiguracja git plik z wartościami.
jak używać sprite'ów CSS
Teraz, aby sprawdzić historię bieżącej gałęzi, wystarczy uruchomić polecenie, na przykład:
Komenda: przejdź do c-hist
1.2 –abbrev-commit: Skróć git commit hash-id
Komenda: git log --abbrev-commit
Pełna nazwa obiektu zatwierdzenia szesnastkowego 40 bajtów jest skracana do domyślnych 7 bajtów.
Połączmy to z „--jedna linia
„Opcja zapewniająca wygodny widok, na przykład:
Komenda: git log --abbrev-commit --oneline
Bardziej ekscytujące jest to, że możesz również określić długość bajtów identyfikatorów sha-1 za pomocą opcji „–abbrev =”, jak pokazano poniżej:
Komenda: git log --abbrev-commit --abbrev = 5 --oneline
Wyraźnie widać, że podświetlone identyfikatory sha-1 są zmniejszane do rozmiaru 5 bajtów.
1.3 –no-abbrev-commit
Pokaż pełną 40-bajtową nazwę obiektu zatwierdzenia szesnastkowego.
To zaprzecza –Abbrev-commit i opcje, które implikujątak jak „–oneline”.
Komenda: git log --pretty = oneline --no-abbrev-commit
1.4 - data-względna
Komenda: git log - data-względna
Należy pamiętać, że ten podświetlony czas może ulec zmianie w zależności od czasu wykonania polecenia w systemie.
1,5 - data =
Możesz również sformatować datę dzienników zatwierdzeń w dowolnej z następujących opcji formatowania:
1.5.1 - data = względna
Komenda :git log --date = względna
Jest to równoznaczne z powyższym poleceniem „git log - data-względna
”I drukuje te same zatwierdzenia.
1.5.2 - data = lokalna
Komenda : git log --date = local
1.5.3 –date = iso
Komenda: git log --date = iso
1.5.4 -date = iso-ścisłe
Komenda: git log --date = iso-strict
1.5.5 - data = rfc
Komenda: git log --date = rfc
1.5.6 - data = krótka
Komenda: git log --date = short
1.5.7 - data = nieprzetworzona (pokazuje datę w sekundach)
Komenda: git log --date = raw
Wydrukuj czas w sekundach od momentu unix epoc czas (01 stycznia 1970), a następnie strefę czasową.
1.5.8 - data = człowiek
Komenda: git log --date = human
1.5.9 - data = unix
Wyświetla datę jako unix epoc (UTC) czas.
Komenda: git log --date = unix
1,6 - rodzice
Wydrukuj także rodziców każdego zatwierdzenia w formacie:
Komenda: git log --parents
Polecenie wyjścia Oneliner: git log --parents --oneline
Punkty, na które należy zwrócić uwagę:
C366419 jest zobowiązaniem scalającym, dlatego ma odpowiednio 2 rodziców: feeb30c i 4920adc
Również
1d67b50 jest zatwierdzeniem scalającym, które powstało w wyniku scalania f2ff2e4 i abb694b
078f9f5 jest zatwierdzeniem scalającym utworzonym przez scalenie 9a2412e i ab3a5e5
Natomiast, 86792c6 jest początkowym zatwierdzeniem, stąd brak rodzica.
1,7 - dzieci
Wydrukuj również dzieci w formularzu
Komenda: git log --children --oneline
Uwaga :
006b9ce jest najnowszym zatwierdzeniem, dlatego nie ma jeszcze obiektu commit podrzędnego. Następna zmiana, którą dokonasz i zatwierdzisz w tej gałęzi, będzie obiektem podrzędnym tego ostatniego identyfikatora sha-1.
1.8 - wykres
Narysuj tekstową graficzną reprezentację historii zatwierdzeń przed identyfikatorami sha-1.
Komenda: git log --graph
Ulepszona wydajność onelinera: git log --graph --oneline
Pozwala to zrozumieć, kiedy, jak i dlaczego oraz inne gałęzie zostały scalone z aktualnie pobraną gałęzią.
1,9 -pokaż-liniowa-przerwa
Komenda: git log --show-linear-break
Jest to przydatne polecenie, aby wskazać barierę między 2 kolejnymi zatwierdzeniami, które nie należą do gałęzi liniowej, innymi słowy, zatwierdzeniami pochodzącymi z różnych gałęzi.
Porównaj powyższe dane wyjściowe z wynikami polecenia „git log –graph”, które jasno pokazują, w jaki sposób zostały scalone zatwierdzenia typu „linear-break”.
Bonus: podsumuj dane wyjściowe dziennika git: „git shortlog”
„git shortlog
„Polecenie kategoryzuje dzienniki zatwierdzeń według autora i drukuje podsumowanie przeglądu, wskazujące zatwierdzenia dokonane przez każdego autora.
Komenda: git log shortlog
Komenda : git log shortlog -s
-s oznacza –s summary, pomija opis zatwierdzenia i po prostu wypisuje liczbę zatwierdzeń każdego autora, na przykład:
Ponadto można również sformatować wynik przy użyciu tych samych symboli zastępczych, które omówiono w sekcji „--pretty = format
' opcja
Wypróbuj polecenie: git shortlog --format = '% h | % s '
Dlatego zgodzisz się, że to wyjście ma większy sens, ponieważ pokazuje id i dla każdego autora wraz z całkowitą liczbą zatwierdzeń.
Uwaga : Warto zauważyć, że bardzo łatwo można znaleźć gałąź, która wykonała dane zatwierdzenie. Warto pogłębić tę dyskusję w kolejnych artykułach.
Więc z tym dochodzimy do końcaHistoria formatu dziennika Gitblog, mam nadzieję, że znalazłeś to pouczające.
W tym poście poznaliśmy kilka technik formatowania, które umożliwiają drukowanie informacji o projekcie w bardziej dostosowany i przyjazny dla użytkownika sposób. Powinieneś teraz wiedzieć, jak efektywnie używać parametrów polecenia „git log”, aby wyciągnąć wszelkie potrzebne informacje o kodzie źródłowym z historii zatwierdzeń. A więc dochodzimy do końca tego artykułu, mam nadzieję, że uznałeś go za pouczający.
Jeśli chcesz dowiedzieć się więcej, sprawdź to autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Szkolenie Edureka DevOps Certification Training pomaga uczniom zrozumieć, czym jest DevOps i zdobyć wiedzę na temat różnych procesów i narzędzi DevOps, takich jak Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack i GIT do automatyzacji wielu kroków w SDLC.
Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy tego artykułu na temat „Historia formatów dziennika Git”, a my skontaktujemy się z Tobą.