Git - 7 tricków które mogą cię zaskoczyć

Git - 7 tricków które mogą cię zaskoczyć

Z każdą kolejną godziną spędzoną z Gitem utwierdzam się w przekonaniu jak potężne jest to narzędzie w przyborniku programisty. Dzisiaj przedstawiam wam 7 przydatnych tricków które będziecie mogli stosować używając tego właśnie systemu kontroli wersji. 

Jeśli nie pracowałeś do tej pory z Gitem, to zachęcam cię do zapoznania się z dwoma postami gdzie wprowadzamy naszych czytelników w świat tego narzędzia:

  1. http://poznajprogramowanie.pl/git-tutorial-jak-zaczac-z-git/
  2. http://poznajprogramowanie.pl/obsluga-git-konsola-komendy/

Gotowy na więcej? Przed tobą 7 tricków które sprawią, że twoja praca z Gitem będzie jeszcze bardziej efektywna:

1. Zmiana opisu ostatniego commita

Do wiadomości ostatniego commita wkradła się literówka? Nic się nie stało, na szczęście Git to nie Twitter – tutaj wiadomości możemy edytować.

Aby to zrobić, wystarczy, że wykonasz komendę :

…i zostaniesz przeniesiony do edytora za pomocą którego możesz poprawić swój błąd albo sprawić, że wiadomość będzie bardziej użyteczna dla innych.

2. Interaktywny git rebase

Rebase to polecenie, dzięki któremu ustawimy nową „bazę” dla zmian które wykonujemy na danym branchu. Czy widzieliście jednak, że dzięki temu narzędziu jesteście też w stanie edytować historię commitów? Służy do tego „interaktywny rebase”.

Aby przekonać się jak to działa należy wykonać komendę:

Teraz, podobnie jak w poprzednim punkcie, znajdujesz się w edytorze tekstowym. Możesz zdecydować czy dany commit będzie zachowany w historii, zostanie połączony z poprzednim albo zmiany w nim zawarte zostaną całkowicie usunięte.

To bardzo przydatne w przypadku czyszczenia commitów z szybkimi poprawkami typu „fixed button position” – nie warto zaśmiecać nimi historii brancha.

3. Szybki powrót na poprzedni branch

Czy chcielibyście „wyskoczyć na chwilę” na inny branch żeby wykonać tam pewną operację, ale męczy was każdorazowe wpisywanie długich nazw branchy? Jest na to sposób! Wygląda on tak:

Dzięki takiemu poleceniu wrócisz na branch na którym ostatnio pracowałeś. Co więcej, można iść krok dalej i podać konkretną liczbę branchy o które chciałbyś się cofnąć w historii:

W ten sposób przejdziesz na miejsce w którym byłeś trzy checkouty temu.

4. Niestandardowy wygląd git loga

Używasz klientów graficznych bo historia w konsoli wygląda nieczytelnie? Jest na to sposób –  Git daje ci łatwą możliwość dostosowania tego, co znajdzie się w informacji dot. poszczególnego commita po wykonaniu komendy git log. Najpierw zobaczmy, jak log wygląda domyślnie:

Aby zmienić zawartość loga musimy do komendy git log dodać kilka dodatkowych parametrów, np.:

Dzięki temu historia będzie się prezentować następująco:

5. Aliasy

No dobra, wiem – komenda z poprzedniego punktu wygląda okropnie. Nikt z nas nie chciałby wpisywać czegoś takiego za każdym razem kiedy trzeba byłoby podejrzeć historię.

Co można z tym zrobić? Można to polecenie opakować w alias. W celu stworzenia aliasu możemy użyć następującej komendy:

Po jej wykonaniu możesz już zobaczyć lepszą wersję historii poleceniem łatwym do zapamiętania:

Tego typu aliasy możemy tworzyć w różnych celach. Jeśli zauważysz, że pewna cześć twojej pracy to nieustannie powtarzająca się seria komend to może warto zastosować alias który opakuje je w jedno polecenie?

6. Zewnętrzny edytor tekstu

Alias z poprzedniego punktu został zapisany w pliku konfiguracyjnym .gitconfig (w Windowsie znajduje się on w C:\Users\[nazwa użytkownika]) – plik ten daje ci też możliwość ustawienia innych opcji które wpłyną na twoją pracę z Gitem. W ten sposób można chociażby ustawić domyślny edytor tekstu – w tym przypadku VS Code.

Aby zobaczyć jak to działa, należy w sekcji [core] w pliku .gitconfig podać komendę która będzie się uruchamiać wtedy, kiedy Git chciałby umożliwić ci wykonanie operacji na tekście:

Teraz, za każdym razem kiedy np. będziesz wykonywał interaktywny rebase, domyślnie uruchamianą aplikacją będzie VS Code:

7. Co kryje .gitconfig

Plik konfiguracyjny Gita, poza ustawieniem aliasów oraz domyślnego edytora tekstu daje ci jeszcze możliwość ustawienia kilku bardzo przydatnych opcji w trakcie pracy z tym systemem kontroli wersji.

Konfiguracja w tym pliku może zawierać m.in. informacje o:

  • danych dotyczących użytkownika – takich jak nazwa i e-mail
  • domyślnej przeglądarce internetowej
  • narzędziu do rozwiązywania konfliktów
  • prefixach branchy w trakcie pracy w modelu gitflow

Przykładowe konfiguracje z łatwością znajdziecie np. na portalu GitHub – w linku zamieszczam przykładową konfigurację na której możecie się oprzeć aby Git działał dokładnie tak jak chcecie.

A jakie tricki ty stosujesz?

Czy masz jakieś tricki i praktyki dotyczące Gita które pomagają ci w codziennej pracy? Jeśli tak, to koniecznie podziel się nimi z innymi czytelnikami – czekamy na Wasze komentarze!

  • Posh git i cmder

    • Przemek Smyrdek

      Cmder powinien być zawarty w „instalce” Windowsa.

      • Amen!

      • Cmder badz ConEmu bo cmder jest ConEmu 🙂 wg mnie przez cmdera conemu troche ‚slawy’ traci 😀

  • Brakuje mi wspomnienia o jakze istotnej komendze jaka jest git cherry-pick.
    Warto tez wspomniec ze git push –force robimy tylko na swoich branchach 🙂

    Dobrym trickiem moze byc tez zmienienie domyslnego git merge toola tutaj polecam np Meld-a

    • Przemek Smyrdek

      Cherry-pick jest bardzo użyteczny, ale nie wiem do końca czy to trick 😛

      W pierwszym szkicu zamiast podmiany edytora tekstu była właśnie zmiana narzędzia do rozwiązywania konfliktów – mega przydatna sprawa.