Jak sprawdzić historię projektu za pomocą Git Log

Jak sprawdzić historię projektu za pomocą Git Log

Jedną z najbardziej podstawowych usług świadczonych przez Git jest historia projektu. Ponieważ Git śledzi wszystkie zmiany w plikach dokonywane w repozytorium, może oferować bardzo zaawansowane funkcje rejestrowania. Możesz sprawdzać historię projektu na wiele różnych sposobów, a także wyodrębniać i wyświetlać różne dane za pomocą jednego elastycznego polecenia.





ten git log polecenie jest ogromne, największe ze wszystkich zwykłych poleceń Git. Jego instrukcja liczy ponad 2500 linijek. Na szczęście, git log zapewnia wiele z najbardziej użytecznych zachowań z zaledwie kilku kluczowych opcji.





Podstawowe rejestrowanie z zachowaniem domyślnym

Domyślnie, git log pokazuje listę zatwierdzeń z odwróconą chronologią. Każdy zatwierdzenie zawiera swój hash, autora, datę i komunikat zatwierdzenia:





Polecenie używa pagera (np. mniej, więcej), aby pokazać pełne dane wyjściowe, dzięki czemu można łatwo nawigować po wynikach. Możesz skonfigurować Git tak, aby używał wybranego przez siebie programu, takiego jak most pager .

Oto kilka danych wyjściowych dziennika git z repozytorium kodu źródłowego git samo:



commit 670b81a890388c60b7032a4f5b879f2ece8c4558 (HEAD -> master, origin/next,
origin/master, origin/HEAD)
Author: Junio C Hamano
Date: Mon Jun 14 13:23:28 2021 +0900
The second batch
Signed-off-by: Junio C Hamano

Wynik zaczyna się od skrótu zatwierdzenia ( 670 ...), a następnie lista gałęzi, które aktualnie wskazują na to zatwierdzenie ( GŁOWA -> mistrz itp.)

jak rozebrać kontroler Xbox One?

Kolejna linia opisuje autora tego zatwierdzenia, podając jego imię i nazwisko oraz adres e-mail.





Pełna data i godzina zatwierdzenia znajdują się w następnym wierszu.

Na koniec pojawia się pełna treść komunikatu o zatwierdzeniu. Możesz kontrolować większość wszystkiego, co oferuje git log, za pomocą opcji wiersza poleceń. Istnieją dwa główne rodzaje opcji:





  • Formatowanie, które definiuje sposób, w jaki Git wyświetla każde zatwierdzenie.
  • Filtrowanie, które określa, które zatwierdzenia git log obejmuje.

Oprócz opcji wiersza poleceń git log akceptuje argumenty określające pliki, zatwierdzenia, gałęzie lub inne typy odwołań. Stosują one dalsze filtrowanie.

Formatowanie danych wyjściowych dziennika Git

Jedną z najprostszych regulacji jest --jedna linia opcja, która daje bardzo krótki wynik:

git log --oneline

Każda linia w dzienniku zawiera teraz tylko skrócony hash zatwierdzenia i temat komunikatu zatwierdzenia. To doskonały sposób na uzyskanie przeglądu ostatnich zmian w projekcie:

Niestety, bez innego kontekstu, te informacje nie zawsze są przydatne. Może dać ci niejasne wyczucie projektu, ale brakuje w nim dat i innych przydatnych informacji o autorach i plikach.

Wyświetlanie wykresu gałęzi

ten --wykres opcja pozwala na wizualizację relacji pomiędzy oddziałami. To bardzo proste, ale może pomóc w rozwikłaniu skomplikowanej historii.

git log --oneline --graph

Związane z: Jak stworzyć nową gałąź w Git

Dostosowane ładne wyjście

Możesz uzyskać bardziej skomplikowane formatowanie, określając je szczegółowo za pomocą --piękny opcja. Składnia przechodzi od bardzo prostej do znacznie bardziej złożonej, więc zapoznaj się z instrukcją, aby uzyskać szczegółowe informacje .

skąd mam wiedzieć, jaka jest moja płyta główna?
git log --pretty=short

Jest zasadniczo taki sam jak git log bez daty lub pełnej wiadomości:

git log --pretty=oneline

Jest równa git log --oneline .

git log --pretty=fuller

Zawiera dużo szczegółów. Oddziela nawet autora i autora, którzy teoretycznie mogą być różnymi ludźmi:

Z format: wariant, możesz dostarczyć ciąg zawierający dowolną zawartość, w tym symbole zastępcze, które są zastępowane różnymi danymi. Oto kilka przykładowych symboli zastępczych:

  • %H popełnić hasz
  • %h skrócony hash commit
  • %do data autora
  • %Z data autora, krewny
  • %s zatwierdź temat wiadomości
  • % b zatwierdź treść wiadomości
  • %P skrócone skróty rodzicielskie

Możesz dodać stałe znaki do wyjścia i pokolorować je. Ten przykład pokazuje również odmianę formatu daty:

git log --pretty=format:'%C(auto) %h [%ad] %s' --date=short

Zwróć uwagę, że datę otaczają nawiasy kwadratowe. Niezależnie od wybranego formatowania, jeśli chcesz, aby dane wyjściowe były przydatne w potoku lub do innych form przetwarzania tekstu, należy rozważyć, jak rozgraniczyć każdą część danych wyjściowych.

Pokazywanie różnic w dzienniku

Ważnym szczegółem przy przeglądaniu historii repozytorium są same różnice. W końcu reprezentują to, co faktycznie zmieniło się w kodzie! Na początek możesz uzyskać podsumowanie zmian wraz z każdym zatwierdzeniem, używając --shortstat :

git log --shortstat

To dodaje linię taką jak:

1 file changed, 48 insertions(+), 2 deletions(-)

Na dole każdego zatwierdzenia. Często zobaczysz tego rodzaju podsumowanie — na przykład na wszystkich stronach w serwisie GitHub — i jest to przydatny sposób na szybką ocenę zakresu konkretnego zatwierdzenia. Aby uzyskać bardziej szczegółowe informacje, możesz dołączyć pełne dane wyjściowe (różnice) za pomocą -P flaga:

git log -p

Filtrowanie danych wyjściowych dziennika Git

Bez względu na to, jakie formatowanie zastosujesz, nadal będziesz widzieć pełny dziennik wszystkich zatwierdzeń w bieżącej gałęzi. Mimo że Git dzieli je na strony, nadal może być dużo danych wyjściowych. Poniższe opcje pozwalają dostosować, które zatwierdzenia zawiera dziennik.

Ograniczenie według kwoty

Jeśli chcesz tylko przyciąć wyniki, aby pokazać kilka ostatnich zatwierdzeń, użyj -[numer] składnia:

git log -2

Ograniczanie według daty

Aby ograniczyć zestaw zatwierdzeń do określonego zakresu dat, użyj --odkąd ( --po ) oraz --dopóki ( --przed ) opcje. Każdy z nich przyjmuje datę w formacie ISO 8601. Możesz użyć albo --odkąd lub --dopóki samodzielnie lub razem, aby określić zakres. Opcje --po oraz --przed są synonimami.

git log --since='2021-01-01' --until='2021-05-01'

Ograniczanie według pliku

Dziennik Git może skupić się na konkretnym pliku, a nie na każdym pliku w repozytorium. Jest to świetne, aby pomóc Ci dowiedzieć się, jak dany plik zmieniał się w czasie. Po prostu dodaj nazwę pliku na końcu polecenia git:

git log filename

Zobaczysz tylko te zatwierdzenia, które miały wpływ Nazwa pliku .

Różnice między oddziałami

Możesz mieć pewne unikalne wymagania podczas przeglądania dziennika oddziału. Na przykład, zamiast zobaczyć całą historię, możesz po prostu zobaczyć, co zmieniło się w tej konkretnej gałęzi. Dziennik Git może pomóc za pośrednictwem ref1..ref2 składnia. Istnieją trzy nieco różne podejścia, których możesz użyć:

  1. Zobacz commity, które są w main, ale nie branch: |_+_|
  2. Zobacz commity, które są w branch, ale nie w main: |_+_|
  3. Zobacz commity, które istnieją tylko w branch lub main: |_+_|

Różnice między dwoma tagami

Tak jak możesz przeglądać historię między oddziałami za pomocą ref1..ref2 składni, w ten sam sposób można również przeglądać historię między tagami. W końcu zarówno tagi, jak i gałęzie są typami referencji.

git log --oneline origin/branch..origin/main

Jeśli przygotowujesz informacje o wydaniu dla większego projektu, git shortlog powinien być twoim pierwszym portem. Tworzy listę autorów wraz z tematami zatwierdzeń. Możesz przekazać mu zakres referencyjny, aby ograniczyć historię w podobny sposób do git log:

git log --oneline origin/ main ..origin/ branch

ten polecenie git show jest jeszcze bardziej wszechstronny niż git log . Może pracować z tagami i innymi typami obiektów git poza historią zatwierdzenia. Dzieli się wieloma opcjami z git log , ale naprawdę będziesz go potrzebować tylko wtedy, gdy musisz zagłębić się w szczegóły niższego poziomu.

Przejrzyj przeszłość za pomocą Git Log

Git log to skomplikowane polecenie, ale możesz uzyskać wiele korzyści z jego najbardziej podstawowych opcji. Przeglądanie historii repozytorium to doskonały sposób na zrozumienie, jak często zachodzą zmiany i ile osób je wprowadza. Gdy dobrze zrozumiesz historię projektu, będziesz mógł sam wnieść do niego swój wkład.

jak nagrać plik iso na usb
Udział Udział Ćwierkać E-mail Dołącz do trendu Social Coding i weź udział w repozytoriach GitHub

Chcesz ćwiczyć swoje mięśnie kodowania i pomagać w projektach open source? Oto jak współtworzyć GitHub.

Czytaj dalej
Powiązane tematy
  • Programowanie
  • GitHub
  • Wskazówki dotyczące kodowania
O autorze Bobby Jack(58 opublikowanych artykułów)

Bobby jest entuzjastą technologii, który przez prawie dwie dekady pracował jako programista. Pasjonuje się grami, pracuje jako redaktor recenzji w magazynie Switch Player i jest zanurzony we wszystkich aspektach publikowania online i tworzenia stron internetowych.

Więcej od Bobby'ego Jacka

Zapisz się do naszego newslettera

Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Kliknij tutaj, aby zasubskrybować