Lekcja w wersji wideo

Podgląd zmian w pliku wersjonowanym

Czas przetestować podstawową zaletę posiadania wersjonowanego pliku. Na początek prosta sprawa – poprawimy zdanie w naszym pliku README. Użyjmy przy okazji jakiegoś fajnego znacznika do formatowania naszego dokumentu 🙂

Mamy więc taki surowy plik (czyli wersja niesformatowana z lewej strony)

# Demo Test Git
Tests project for learning Git with Python and PyCharm 

Dodajmy odrobinę tekstu i może jakiś niewinny obrazek używając znacznika ![alt text](link_to_image)]:

# Demo Test Git
Tests project for learning Git with Python and PyCharm from:
![alt text](https://con.jaktestowac.pl/wp-content/uploads/brand/jaktestowac_small.png)

Efekt jest oszałamiający:

I nasz zachwyt co najmniej nie dotyczy formatowanie pliku README wraz z pięknym logo 😀

PyCharm poinformuje nas w wielu miejscach, że dokonaliśmy zmian w tym pliku, odkryjmy je!

Przejdźmy do naszej changelisty w panelu Version Control w zakładce Local Changes. W Default Changelist widzimy nasz plik. Może okazać się, że lista zmian jest zwinięta (po lewej stronie jej nazwy umieszczona strzałka wskazuje w prawo: >). Wystarczy kliknąć w strzałkę lub nazwę listy, aby ją rozwinąć.

Nazwa pliku ma teraz kolor niebieski co oznacza, że mamy w nim niezacommitowane zmiany (ang. uncommited changes). Ten kolor możesz też dostrzec w innych miejscach, gdzie widnieje nazwa pliku czyli w panelu Projects czy w nazwie zakładki w głównym oknie edycji.

Nasze środowisko informuje nas, ze wszech stron, że coś zmieniliśmy – ale jak sprawdzić co dokładnie zostało zmienione w naszym pliku.

Jeśli chcemy podglądnąć zmiany pliku to wykorzystamy opcję w panelu Version Control w zakładce Local Changes. Klikamy prawym klawiszem na nasz zmieniony plik i używamy ikonki z dwoma przeciwstawnymi strzałkami, opisanej jako Show Diff.

Po jej kliknięciu zobaczymy okno Difference Viewer, czyli możemy to przetłumaczyć jako podgląd zmian. Taki widok w potocznym języku nazywamy diff, czyli skrótowo od angielskiego słowa oznaczającego różnicę (ang. difference). Często padnie w zespole hasło:

Sprawdziłeś diffa?

Co oznacza porównanie wersji plików, najczęściej właśnie w tego typu oknie. Nawet sama opcja wywołująca to okno nazywa się Show Diff.

Czyli mamy diffa – zobaczmy co z niego możemy wyczytać:

Cyframi 1 i 3 oznaczyliśmy pola, w których prezentowana jest treść dla danej wersji pliku. Po lewej stronie oznaczenia 1 znajdziesz… no właśnie, co to za cyferki/literki? Ten długi ciąg znaków jest to (praktycznie) unikalna wartość oznaczająca wersję naszych plików z danego commita. Taka wartość nazywamy hash. Czyli wiemy już, że po lewej stronie znajduje się wersja naszego pliku z poprzedniego commita oraz ma ona specjalny hash, który służy do identyfikacji danego commita.

Po prawej widzimy nasz aktualny plik i tam nazwa jest o wiele bardziej zrozumiała: Your version. Na obecną chwilę wydaje się być oczywiste odróżnienie nowych zmian od starych jednak wraz ze skomplikowaniem projektu i próbie porównania różnych wersji może się to stać sporym wyzwaniem 😀

Przejdźmy dalej. Po lewej stronie cyfry 2 widzimy ikonę trybika (w pewnych wersjach PyCharma, zamiast trybika możesz spotkać znak trzech pionowych kropek ). Za pomocą tej ikony możemy modyfikować sposób wyświetlania zawartości tego okna. Kliknij w trybik i zobacz opcje. Na obecną chwilę bardzo przydatna może okazać się opcja Use soft wraps (w wersji PyCharma 2020: Soft-Wrap) to, aby zwinąć wiersze dla lepszej czytelności (specjalnie dla was używamy w PyCharm większej czcionki więc w obecnych zrzutach ekranu ta opcja jeszcze bardziej się przyda):

Na koniec zwróciliśmy uwagę na przestrzeń pomiędzy treścią starej i nowej wersji (cyfera 4). Niebieski obszar wskazuje na zmiany jakie zostały wprowadzone – oczywiście znajdą się tu jeszcze inne kolory ale generalnie już powinieneś zrozumieć, że podświetlenia oznaczają miejsca na które trzeba zwrócić uwagę w diff. Dodatkowo możesz zwrócić uwagę na podwójną strzałkę skierowaną w prawo >> znajdującą się w tej części przy drugiej linii pliku. Jej kliknięcie zaaplikowanie wersji znajdującej się po lewej stronie. Możesz to spokojnie zrobić a następnie przywrócić poprzedni stan używając skrótu klawiszowego CTRL + Z.

Na obecną chwilę taka wiedza o tym oknie nam wystarczy – przejdźmy zatem do analizy zmian jakie wprowadziliśmy.

Po zwinięciu wierszy (użyciu opcji Use soft wraps) widzimy na niebieskim tle linie, które zostały dotknięte zmianami. Dodatkowo na zielono podświetlone są nowo wprowadzone treści. A na jaki kolor zostaną podświetlone zmiany tekstu – sprawdźmy!

Mini Teraz Ty: Zmiana tekstu i włączenie diff

Zamknij nasze okno diff. Zmień w pliku README.md tekst learning na getting to know.

Otwórz ponownie diffa. Jaki kolor ma zmiana w której zastąpiliśmy frazę?

Mini Rozwiązanie: Zmiana tekstu i włączenie diff

Efekt powinien być taki jak poniżej.

Czyli miejsce, w których nastąpiła edycja treści z poprzedniej wersji, podświetlone jest na niebiesko – w odróżnieniu od podświetlonych na zielono nowo dodanych treści.

2 komentarze

  1. Bardzo podoba mi się kurs. W mojej wersji PyCharm (2019.2.4, jeszcze nie zaktualizowałam) nie ma ikony trybika, jest natomiast pionowy “trzy-kropek” i tam znalazłam Soft-Wrap.
    Wolę czytać i wykonywać ćwiczenia i znajduję czasem opuszczone słowa, czy literówki. Pytanie – może chcecie aby info o tych drobnych niedopatrzeniach Wam podsyłać? Jeśli tak, to poproszę o informację gdzie. No bo raczej nie w komentarzach 🙂
    Nie wiem czy w dalszej części zaplanowaliście też przejście na konsolę i czy tam pokazujecie tworzenie repozytorium. Niebawem się dowiem 🙂 Jest to jednak zdecydowanie mniej przyjazne
    Jeszcze raz – wielkie dzięki za Waszą pracę 🙂

    Avatar Karolina
    1. Hej Karolina
      Dzięki za opinię 🧡 a update o bracie bliźniaku trybika już wjechał na stronę💪
      1. Co do poprawek i zgłaszania błędów. Śmiało podeślij nam na maila sugestie w formie listy (gdzie każdy element zawiera a. link do lekcji b. obserwowana nieprawidłowość [wystarczy niepoprawne słowo – my sobie je wyszukamy] c. oczekiwana wartość). W beta testach trochę inaczej to ogarniamy ale mail na początek będzie idealny 👍
      Obecnie jeśli nie są to krytyczne funkcjonalne nieścisłości to planujemy je wdrożyć wraz z odświeżeniem zawartości kursu.
      2. Co do konsoli to dokładnie mamy ją w planach. Niestety na razie wstrzymaliśmy rozwój tego kursu ze względu na inne priorytety. Jak tylko złapiemy oddech z pozostałymi palącymi projektami to chcemy rozwinąć ten program w pełną formę jaka mamy zaplanowaną 😎

      Jeszcze raz dzięki za ten komentarz – czujemy, że dajemy wartość😊 a to dla nas mega ważne.

      Życzę ultra rozwoju i do boju!

      Przemek Barański Przemek Barański

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *