Git #10: Gitk – historia w okienku

Gitk, proste, a zarazem bardzo pomocne narzędzie umożliwiające przeglądanie historii GIT-a w okienku, czyli przy użyciu GUI.

Git 10 - historia w okienku

Git 10 - historia w okienku


W poprzednim artykule:

przedstawiliśmy sposoby na przeglądanie historii naszego projektu, z wykorzystaniem konsoli oraz wbudowanych w git’a narzędzi. Forma prezentacji tej historii, lub sposób jej przeszukiwania i obsługi może nie wszystkim odpowiadać. Z pomocą mogą nam przyjść dodatkowe, zewnętrzne narzędzia, dzięki którym będziemy w stanie prześledzić zmiany. Jednym z nich jest Gitk.

Gitk

Jednym z polecanych przeze mnie narzędzi jest Gitk — czyli prosta, a zarazem użyteczna aplikacja. W pierwszej kolejności należy zacząć oczywiście od zainstalowania jej poprzez:

qabrio@test:~$ sudo apt install gitk

Po procesie instalacji, możemy rozpocząć korzystanie z gitk. Nie jest wymagana żadna wstępna konfiguracja. Narzędzie to będzie działało poprawnie z każdym projektem obsługiwanym przez system kontroli wersji — Git. Zatem przejdźmy do projektu z poprzedniej części i wykonajmy polecenie:

qabrio@test:~/__tmp/git_test$ gitk --all

Efektem wykonania tej komendy powinno być poniższe okno. Za pomocą parametru –all, możemy wyświetlić wszystkie informacje.

Gitk - widok główny
Gitk – widok główny

W wyświetlonym oknie możemy zobaczyć następujące informacje:

  1. Widok drzewa commit‚ów w projekcie z podziałem na banch’e.
  2. Informacje o autorze każdego commit’a.
  3. Informacje o dacie dotyczące każdego commit’a.
  4. ID podświetlonego commit’a.
  5. Szczegóły dotyczące wybranego commita, w tym informacje o autorze, dacie, a także commit‚cie nadrzędnym (parent), commit’ach bazujących na tym commit‚cie (children), branch‚ach oraz opis wybranego commit’a.
  6. Wykaz zmian w każdym pliku w obrębie commit’a: linie dodane na zielono, a linie usunięte na czerwono.
  7. Wyszukiwarka wewnątrz wybranego commit’a.
  8. Przechodzenie pomiędzy kolejnymi commit’ami.
  9. Wyszukiwarka commit’ów (opisana kilka akapitów niżej).

Aby wyświetlić historię jednego lub wielu plików należy je wypisać po nazwie narzędzia, np.: 

qabrio@test:~/workspace/git_test$ gitk test_file_5 test_file_4

Wybrane parametry

—select-commit=[ID commit‚a] – wybór konkretnego commit‚a, który spowoduje otwarcie standardowego okna aplikacji, w której od razu będzie zaznaczony podany commit:

Kodqabrio@test:~/workspace/git_test$ gitk --select-commit=1c20681c48cf189d5a0088c7992096e5f5f7b5bb

–max-count=[liczba] – ograniczenie liczby wyświetlonych commit’ów do liczby podanej w parametrze:

qabrio@test:~/workspace/git_test$ gitk --max-count=2

—since — wyświetlanie commit‚ów od czasu podanego w parametrze. Wartość ta może być podana zarówno słownie jako na przykład ‚2 weeks ago’ lub jako data w formacie DD-MM-YYYY:

qabrio@test:~/workspace/git_test$ gitk --since="1 day ago"

–until — wyświetlanie commit’ów od czasu podanego w parametrze do chwili obecnej. Wartości można podać w analogiczny sposób jak w –since:

qabrio@test:~/workspace/git_test$ gitk --until=27-01-2020

—date-order – posortowania commit‚ów po dacie. Jak wiemy, w git’cie można wykonać kilka commit‚ów lokalnie, a dopiero po jakimś czasie wykonać push, w celu wysłania ich na serwer. Jeśli ktoś inny wykonał później od nas commit’a, a wcześniej wysłał na serwer, daty nie commit‚ów nie będą ustalone chronologicznie. Jeśli mimo wszystko zależy nam, aby chronologia względem dat commit‚ów była zachowana, można użyć poniższego parametru:

qabrio@test:~/workspace/git_test$ gitk --date-order

Wbudowana wyszukiwarka

Narzędzie to posiada także wbudowaną wyszukiwarkę, oznaczoną na screenie punktem nr 9. Umożliwia ona przeszukiwania commit‚ów pod kątem autora, podsumowania, komentarz lub po wszystkich polach an raz. Na poniższym zrzucie ekranu została wyszukana fraza test_1. Wszystkie znalezione przypasowania zostały pogrubione w górnej części okna.

Gitk - wyszukiwarka
Gitk – wyszukiwarka

Jak widać, dzięki graficznemu interfejsowi, przeglądanie historii w git’cie stało się bardzo łatwe i szybkie. W stosunku do opcji konsolowej czytelność jest również lepsza. Znam osoby, które bez GUI w git’cie nie mogłyby żyć, a z drugiej strony znam osoby, dla których konsola jest wszystkim. Dlatego ostateczny wybór narzędzia zależy głównie od osobistych preferencji i przyzwyczajeń.

close

Newsletter