Lekcja w wersji wideo

Weryfikacja użytkownika Git

Na początek zabieramy się za sprawdzenie czy wszystko z ustawieniami naszego użytkownika jest w porządku. Zobaczymy czy email i nasza nazwa użytkownika są poprawne i ewentualnie wprowadźmy zmiany.

TIP: W przypadku, gdy zechcesz stworzyć nowego użytkownika, to w lekcji Użytkownik Git tworzyliśmy go od początku 😉

Szybka weryfikacja

Przy pierwszym commicie w lekcji Użytkownik Git zostaliśmy poproszeni o podanie danych. Wszystko sprowadzało się do wprowadzenia nazwy użytkownika oraz adresu email . Możemy te dane pośrednio podglądać w logach z naszych działań w Git w panelu Version Control w zakładce Log

W historii widzimy nazwę naszego użytkownika. Z prawej strony, w szczegółach commita, w dolnej części mamy już pełny zestaw nazwy i emaila.

Wsparcie PyCharma dla edycji danych użytkownika

Gdy zetknęliśmy się z całkowitym brakiem użytkownika przy pierwszym commicie wtedy PyCharm dzielnie nam w tym pomógł. Niestety nasze IDE samo w sobie nie posiada zaawansowanego wsparcia dla edycji użytkownika Git. Za tą niedogodnością stoi istotny argument.

Git jest narzędziem, które jest dostępne dla wszystkich programów w naszym systemie i posiada ustawienia globalne. Co to oznacza? Wszystkie inne repozytoria na naszej maszynie domyślnie korzystają z tych ustawień. Zmiana w tych ustawieniach będzie wpływać na każde repozytorium więc w sumie nasz PyCharm nie będzie brał za to odpowiedzialności 😀

A co jak będę chciał mieć dwóch różnych użytkowników?

Oczywiście mamy to na uwadze i w jednej z następnych sekcji zajmiemy się tą ciekawą tematyką. Na obecną chwilę zajmiemy się naszym globalnym użytkownikiem.

Wizyta w konsoli

W PyCharmie mamy oczywiście do dyspozycji pełnoprawną konsolę czyli okno do wpisywania poleceń tekstowych dla naszego systemu.

Otwieramy panel Terminal. Zakładka powinna być widoczna na samy dole okna IDE. Jeśli nie ma jej tam użyj skrótu Alt + F12 lub przejdź w górnym menu do opcji: View -> Tool Windows -> Terminal.

Powinien w przybliżeniu wyglądać tak:

UWAGA: Czasem w Pycharm może nas spotkać bug: okno terminala jest zupełnie puste. Wystarczy wtedy kliknąć środek panelu. Następnie wprowadzić dowolny znak z klawiatury (prawdopodobnie jeszcze się nie pojawi w terminalu) i nacisnąć Enter.

Powinno pomóc 🙂

Teraz czas sprawdzić naszego Git użytkownika. Zapytajmy więc o imię poprzez wpisanie polecenia:

git config user.name

Polecenie i odpowiedź dla mojego użytkownika wygląda tak:

C:\Projects\demo_test_git>git config user.name
Przemek Barański
TIP: W przypadku gdy chcemy wykorzystać wcześniej wpisane polecenie to możemy skorzystać z klawiszy oraz . Dzięki nim możemy przełączać się pomiędzy wcześniej użytymi poleceniami 😉

Teraz email:

git config user.email

Polecenie i odpowiedź dla mojego użytkownika wygląda tak:

C:\Projects\demo_test_git>git config user.email
przemek@jaktestowac.pl

Nie było strasznie, prawda? 😉

Zmiana ustawień globalnych

No i dotarliśmy do punktu kulminacyjnego. Jeśli okazało się, że coś poszło nie tak i źle zapisałeś sobie nazwę użytkownika dla Git, albo chcesz po prostu przećwiczyć taką zmianę, to wykonaj poniższe kroki.

Wpisujemy w konsolę polecenie zmiany ustawień globalnych dla nazwy użytkownika (oczywiście podmień tekst Twoje nowe imię i nazwisko w poniższym poleceniu 😀 ):

git config --global user.name "Twoje nowe imię i nazwisko"

Dla mnie to wyglądało tak:

git config --global user.name "Przemysław Barański"

Tak, tak – w odpowiedzi dostajemy pustą linię, witaj w świecie konsolowych czarów 😀 Trzeba samodzielnie upewnić się, że zmiany zostały prawidłowo zaaplikowane. Wpisz znane już nam polecenie git config user.name. Poniżej wynik operacji w moim przypadku:

C:\Projects\demo_test_git>git config user.name
Przemysław Barański

Z mailem zrobimy adekwatnie:

git config --global user.email "twój@mail.com"

No i dla mnie operacja zmiany maila wraz z weryfikacją wyglądała tak:

C:\Projects\demo_test_git>git config --global user.email "przemyslaw@jaktestowac.pl"

C:\Projects\demo_test_git>git config user.email
przemyslaw@jaktestowac.pl
UWAGA: Jeśli dokonywałeś zmian nie poruszonych w tym kursie (innych niż na poziomie globalnym) lub koniecznie potrzebujesz innego użytkownika lokalnego niż globalnego możesz użyć poleceń do zmiany danych użytkownika bez wyrażenia --global.

Na obecną chwilę jednak tego nie zalecamy. Wszystko po to aby utrzymać spójność zaprezentowanych kroków z kursem.

Praktykujemy zmiany

Wiemy już jak sprawdzić użytkownika dla naszego repozytorium:

git config user.name
git config user.email

Wiemy również jak wprowadzić globalne zmiany:

git config --global user.name "Twoje nowe imię i nazwisko"
git config --global user.email "twój@mail.com

W tym momencie jesteśmy już w stanie dowolnie ustalić sobie te wartości dla naszego repozytorium. Dlatego też ja wracam do poprzednich nazw, gdyż zmieniłem je tylko w celach naukowych 😀 Jeśli też tak postąpiłeś to teraz jest dobry moment aby ustawić wszystko poprawnie:


C:\Projects\demo_test_git> git config --global user.name "Przemek Barański"

C:\Projects\demo_test_git>git config --global user.email "przemek@jaktestowac.pl"

C:\Projects\demo_test_git>git config user.name
Przemek Barański

C:\Projects\demo_test_git>git config user.email
przemek@jaktestowac.pl

Lecimy dalej

To była mocna konsolowa rozgrzewka. Wszystko przygotowane, aby zmierzyć się z zewnętrznym repozytorium 😀

10 komentarzy

  1. Hej,

    Dokonując zmiany nazwy użytkownika z Bartek na Bartek K i używając polecenia
    git config –global user.name otrzymuję taki oto komunikat:

    warning: user.name has multiple values
    error: cannot overwrite multiple values with a single value
    Use a regexp, –add or –replace-all to change user.name.

    Natomiast po zastosowaniu polecenia git config –add user.name “Bartek K” udało mi się zmienić nazwę użytkownika.

    Jaki może być powód takiej sytuacji?

    PyCharm 2020.2 (Community Edition)
    Python v3.8
    Git v2.27

    Pozdrawiam,

    Avatar Bartek
    1. Jeszcze trochę się pobawiłem tymi komendami i teraz sprawdzając nazwę użytkowników pokazuje mi:

      C:\Projects\demo_test_git>git config user.name
      Bartek Koło

      C:\Projects\demo_test_git>git config –global user.name
      Bartosz

      Jak to teraz naprawić, żeby były jednakowe nazwy użytkownika :D?

      Dziękuje za odpowiedź i pozdrawiam.

      Avatar Bartek
      1. Hej Bartek!
        Chyba w konfigu powstały u Ciebie duplikaty:
        Sprawdź je poleceniem

        git config –global –get-all user.name

        Jak dostajesz więcej niż dwóch userów to masz więcej użytkowników globalnych.
        Pomysł 1: Zmień ich nazwę

        git config –global –replace-all user.email “new@mail.com”

        Pomysł 2: wyrzuć któregoś używajac polecenia

        git config –global –unset user.name “nazwa użytkownika”

        i już standardowo zmieniaj tego co został.

        Duże propsy za eksperymentowanie i robienie ćwiczeń – oby tak dalej 💪
        Daj znaka czy jest lepiej😉

        Przemek Barański Przemek Barański
        1. Udało mi się zminimalizować userów, bo było ich aż sześciu. Natomiast zastanawia mnie jedna kwestia. Używając poniższych poleceń otrzymuje następujące odpowiedzi:

          C:\Projects\demo_test_git>git config –get-all user.name
          Bartek
          Bartek

          C:\Projects\demo_test_git>git config –global –get-all user.name
          Bartek

          C:\Projects\demo_test_git>git config user.name
          Bartek

          C:\Projects\demo_test_git>git config –global user.name
          Bartek

          Czy już jest wszystko dobrze?

          Pozdrawiam 🙂

          Avatar Bartek K
          1. Dobra robota!
            Przy pracy na maszynie gdzie masz tylko prywatne projekty zalecam posiadanie tylko jednego użytkownika – global. Dużo łatwiej jest się wtedy odnaleźć w strukturze użytkowników😉

            Omówmy jeszcze twoje polecenia:
            1. Pobierz wszystkich użytkowników
            C:\Projects\demo_test_git>git config –-get-all user.name
            Bartek
            Bartek

            2. Pobierz wszystkich globalnych
            C:\Projects\demo_test_git>git config –-global –-get-all user.name
            Bartek

            3. Pobierz użytkownika obecnie używanego
            C:\Projects\demo_test_git>git config user.name
            Bartek

            4. Pobierz użytkownika globalnego
            C:\Projects\demo_test_git>git config –-global user.name
            Bartek

            Tutaj zalecałbym zmianę użytkownika lokalnego aby miał inne imie więc nie mieszałby się z globalnym 😀

            Super eksperymenty👏 i ciśnij dalej💪

            Przemek Barański Przemek Barański
  2. Witajcie,
    mam zagwostkę, przy odpaleniu komendy “git config user.email” i innych z poziomu konsoli wbudowanej w PyCharma dostaję komunikat, mimo, iż git, commity działają:

    Nazwa ‘git’ nie jest rozpoznawana jako polecenie wewnętrzne lub zewnętrzne,
    program wykonywalny lub plik wsadowy.

    Wykonałem tą samą czynność w terminalu Windowsa (cmd) i dostałem odpowiedź.

    Coś nie tak wykonałem?

    Avatar Stanisław Ciesielka
    1. Dzięki za opis tego przypadku – to będzie wartościowa informacja dla innych użytkowników 😀

      Pierwsza sugestia jaka mi się nasuwa – zrestartuj PyCharma 😀 (czyli stary indiański sposób: have you tried to turn it off and on again)
      Druga sugestia to restart kompa (a co się będziemy ograniczać🤠)

      Wyjaśnienie: Generalnie problem braku dostępu do danego pliku wykonywalnego w terminalu PyCharma może wynikać z wielu przyczyn..

      Najczęstszą jest to, że po prostu PyCharm nie został zrestartowany po dodaniu oprogramowania do systemu. Nawet powiem więcej, sam Windows może nie wiedzieć o oprogramowaniu gdyż czasem aby wszystko trafiło na swoje miejsce trzeba restartu systemu. Tak więc pomaga tu najprostsza strategia ponownego uruchomienia aplikacji, ewentualnie maszyny..

      Napisz czy to pomogło a jak nie to będziemy szukać dalej. No i bardzo dobrze, że użyłeś terminala Windowsowego aby sprawdzić Gita. Dodatkowo ważną informacją z poziomu wiedzy QA będzie czy terminal jest uruchomiony z prawami administratora czy bez bo może to być istotne z punktu dalszego wykrycia nieprawidłowości. (w systemie Windows w cmd wystarczy wpisać w terminal net session i jeśli pojawia się wynik z błędem oznacza to, że wykonałeś dane polecenie z poziomu użytkownika a nie administratora)

      Pozdro i daj znaka czy się udało 😀

      Przemek Barański Przemek Barański
  3. Hm.
    Zastanawia mnie jedna sprawa. Jeśli wcześniej robiliśmy commity i po iluś interakcjach z projektem zmieniamy swoją nazwę użytkownika, to w jaki sposób dokonuje się porównania czy akurat ten sam użytkownik dokonuje zmian w projekcie? Jest to jakoś wyszczególnione w logach?
    W logach widzę starą nazwę użytkownika przy commitach, Jak będę chciał dodać nowy commit to można w opcjach ustawić przypisanie do starej nazwy użytkownika, tak by nie było wątpliwości, że ta sama osoba dokonała zmian?
    Możliwe, że temat będzie omówiony w kolejnej lekcji, ale wolę spytać teraz zanim mi to umknie :).

    Avatar Łukasz Bogaczyk
    1. Zadałeś bardzo dobre pytanie a właściwie kilka pytań.
      1. Jeśli tylko zmieniłeś autora (np za pomocą użycia opcji Author w oknie Commit Changes czy polecenia –author w konsoli):
      Generalnie w logach przy standardowym poleceniu git log zobaczysz tego podmienionego autora. Ale już w GitLab czy w PyCharm (w Version Control -> Log -> okienko detalis z prawej strony u dołu) możesz łatwo podglądnąć, że author i commiter to dwie różne osoby 🙂
      Jeśli chodzi o konsolę to można taką informację uzyskać poleceniem git log –format=fuller
      2. Jeśli zmieniliśmy nasze dane tak jak jest to pokazane w lekcji to standardowo nie będziemy mieli możliwości weryfikacji czy to są różne czy te same osoby. Powiem więcej problem dość ciekawie się ukazuje gdy commitujemy z różnych maszyn do jednego repo i podamy innego maila to już jesteśmy relatywnie innym użytkownikiem 😀 Drugą ciekawostką jest, że bardzo często w logach pokazana jest jako pierwsza nazwa uzytkownika a tą już bardzo dowolnie się ustala i mamy potem w historii przemek, PrzemekB, pbaranski itd 😀 Trzeba o to dbać przy rozproszonym commitowaniu jako jeden użytkownik
      3. Tematem zajmiemy się jeszcze w przyszłości – dzięki za zwrócenie uwagi na to zagadnienie

      Podsumowując najlepiej ustawić poprawne dane w samym Git a w przypadkach gdy na chwilę udostępniamy naszą maszynę, ktoś nam pomaga w commicie i to jest de facto jego praca wtedy warto pole author zmienić ale raczej nieczęsto się to stosuje 😀

      Jak byś miał więcej pytań śmiało pisz 😀

      Przemek Barański Przemek Barański

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *