Przechodząc przez poniższą instrukcję bez problemu skonfigurujesz swoje repozytorium Git i dołączysz do funkcjonującego projektu.
Podstawowa konfiguracja Git
Każdy commit i zmiana są oznaczane automatycznie danymi osoby odpowiedzialnej za nie.
$ git config --global user.name "imię nazwisko"
$ git config --global user.email "adres@email.com"
Przełącznik --global
nadaje wartość parametrów użytkownika name
i email
dla wszystkich repozytoriów Git użytkownika w systemie operacyjnym.
Pozostałymi lokalizacjami (poza --global
) są jeszcze:
--local
-> konfiguracja dla pojedynczego repozytorium (wykorzystywane domyślnie, jeśli w komendzie nie zdefiniujesz konkretnej lokalizacji)--system
-> konfiguracja dla całego systemu operacyjnego
Żeby usunąć którąś z konfiguracji wystarczy wykonać polecenie z przełącznikiem –unset. Poniższy kod usuwa lokalną konfigurację maila.
$ git config --unset user.email
Konfiguracja SSH Git do GitHub
Poniższy opis dotyczy konkretnie GitHub’a, ale tak samo zadziała to z GitLab’em i Bitbucket.
Protokół SSH wymaga stworzenia pary kluczy (publicznego i prywatnego).
Wygeneruj parę kluczy:
$ ssh-keygen -t ed25519
Opcja -t
pozwala wybrać algorytm, zgodnie z którym klucze będą stworzone. Popularnie wykorzystywanym nadal jest rsa
. Powyżej skorzystałem z ed25519
. Po więcej szczegółów zajrzyj na stronę z dokumentacją SSH.
Powyżej zdefiniowałem nazwę pliku, id_github_ed
, pod jakim chcę utworzyć parę kluczy. Możesz zostawić pole puste i klucze utworzą się z domyślną nazwą.
Zaloguj się na swoje konto GitHub i znajdź zakładkę z SSH and GPG keys
.
Następnie oczywiście New SSH key
.
Nazwij ten klucz jak chcesz i wklej zawartość pliku .pub
w miejsce Klucza.
Teraz utwórz plik config
w katalogu ~/.ssh
, jeśli jeszcze nie istnieje i zapisz w nim poniższe 3 linie:
Host github.com
IdentityFile ~/.ssh/id_github_ed
IdentitiesOnly yes
Zauważ, że (w kontekście tego wpisu) pierwsza linia definiuje adres serwisu z Twoim repozytorium (równie dobrze może to być gitlab.com).
Druga linia, IdentityFile
, wskazuje konkretny klucz prywatny do użycia z Hostem.
Trzecia linia, IdentitiesOnly
, użyte wraz z IdentityFile
wskazuje klientowi ssh, że w połączeniu z tym konkretnym hostem należy użyć tylko tego konkretnego klucza i pominąć wszystkie pozostałe w katalogu ~/.ssh
.
Jak podłączyć się do zdalnego repozytorium Git’a?
Klonowanie repozytorium:
Jest dobrze. Masz już klucze i możesz bez problemu pobrać repozytorium z GitHub’a. Wystarczy bardzo prosta komenda, żeby je sklonować:
$ git clone git@github.com:<nazwa_projektu>/<nazwa_repo>.git .
Jeśli klucze SSH ogarnęłaś/ogarnąłeś prawidłowo, to klonowanie przebiegnie pomyślnie i zobaczysz mniej więcej podobne komunikaty jak poniżej.
Jeśli coś jest nie tak z SSH, to polecenie git clone
zostanie odrzucone.
Ważna kropka na końcu polecenia git clone
:
- Ta kropka oznacza, że klonowane repozytorium zostanie sklonowane bezpośrednio do katalogu, w którym obecnie się znajdujesz.
- Możesz ją pominąć i klonowane repozytorium utworzy nowy katalog o nazwie takiej samej, jak nazwa repozytorium i tam właśnie umieści całe repozytorium.
- Możesz wpisać jakiekolwiek słowo, bądź ciąg znaków i Git utworzy właśnie taki katalog i w nim umieści klonowane repozytorium.
Powyższa komenda sklonuje całe repozytorium z pełną historią commitów. Nie musisz klonować 100% historii repozytorium, jeśli… tego nie potrzebujesz. Z pomocą przychodzi parametr --depth
.
$ git clone --depth 5 git@github.com:Marek603/nauka-gita.git .
Jak widzisz poniżej, pomimo chęci wyświetlenia 50 ostatnich commitów (parametr -n50
), Git wyświetlił jedynie istniejące lokalnie 5 commitów.
Podłączenie zdalnego repozytorium:
Żeby się podłączyć do innego/zdalnego repozytorium musisz najpierw lokalnie zainicjować repozytorium Git lokalnie.
git init
A później powiązać lokalne repozytorium ze zdalnym:
git remote add origin git@github.com:<nazwa_projektu>/<nazwa_repo>.git
W powyższym poleceniu słowo origin
to lokalna nazwa/określenie/wskaźnik tego konkretnego repozytorium zdalnego. Możesz mieć wiele połączeń do repozytoriów zdalnych, ale każde musi mieć inną nazwę.
Poniższy screen przedstawia udane powiązanie.
Polecenie git remote
wyświetli wszystkie zdalne repozytoria powiązane z bieżącym repo lokalnym.
Kolejny screen przedstawia fatal
’ny błąd, jeśli spróbujesz podłączyć zdalne repozytorium do katalogu, w którym nie istnieje lokalne repo Git’a.
Poniżej ostatni ważny błąd, jeśli znów coś pójdzie nie tak z prawidłową konfiguracją SSH.
Kończąc:
Zdalne repozytorium powinno być już bez problemu dostępne z Twojego komputera 😉.
Koniecznie zajrzyj do wcześniejszych wpisów o pracy z Git’em:
Dodaj komentarz