Git to jedno z najpopularniejszych narzędzi do kontroli wersji, niezbędne dla każdego programisty, testera czy developera. Pozwala śledzić zmiany w projektach, współpracować z zespołem i bezpiecznie cofać błędy. W tym przewodniku omawiamy najważniejsze komendy Git z konsoli, podzielone na kategorie: podstawy, praca z repozytoriami zdalnymi, gałęzie, merge, cofanie zmian oraz przydatne triki. Git jest dostępny na Windows, macOS i Linux — po instalacji otwórz konsolę (np. Command Prompt, Terminal lub Git Bash).
Podstawowe komendy – fundament pracy z Git
Te komendy tworzą codzienny workflow: inicjalizacja, dodawanie zmian i ich zatwierdzanie. Najpierw poznaj je w praktyce:
git init– inicjuje nowe repozytorium w bieżącym katalogu i tworzy ukryty folder.git;git clone <adres_repozytorium>– klonuje zdalne repozytorium na lokalny komputer (np.git clone https://github.com/user/repo.git), kopiując cały kod i historię;git status– pokazuje stan repozytorium: zmodyfikowane, nowe i usunięte pliki oraz elementy w staging area;git add <plik>lubgit add .– dodaje zmiany do indeksu (staging);git add .zbiera wszystkie zmienione pliki, agit add -Auwzględnia także nieśledzone;git commit -m "Opis zmian"– zatwierdza zmiany ze staging area, tworząc migawkę (snapshot) historii z czytelnym opisem (np.Dodano walidację formularza).
Dla szybkiego startu wykonaj prosty ciąg poleceń: git add . → git commit -m "Initial commit" → git status.
Warto zapamiętać kilka krótkich definicji używanych w praktyce:
Użyj tej komendy, gdy zaczynasz nowy projekt od podstaw i chcesz, aby Git śledził twoje zmiany.
Pokazuje informację o zmodyfikowanych, nowych, usuniętych oraz nienależących do repozytorium plikach.
Komenda git commit tworzy migawkę stanu projektu, zapisując aktualne zmiany w historii.
Praca z repozytoriami zdalnymi
Po pracy lokalnej czas na synchronizację z GitHub, GitLab lub Bitbucket. Najważniejsze komendy to:
git remote -v– wyświetla listę zdalnych repozytoriów (domyślnieorigin);git remote add origin <url>– dodaje zdalne repozytorium do projektu;git push origin <branch>– wysyła commity na zdalną gałąź, np.git push origin main; pierwsze wypchnięcie zwykle wymagagit push -u origin main;git pull origin <branch>– pobiera i łączy zmiany ze zdalnego; bezpieczniejszą alternatywą jestgit fetch+git mergewykonywane osobno;git fetch <remote>– pobiera zmiany bez automatycznego łączenia; opcja-p(--prune) czyści odniesienia do nieistniejących gałęzi;git pull --all --prune– aktualizuje wszystkie podpięte zdalne repozytoria i usuwa nieużywane odniesienia.
Krótka definicja, która ułatwia zrozumienie działania pull:
Komenda git pull łączy w sobie git fetch i git merge.
Zasada higieny pracy: zawsze wykonaj git pull przed edycją, aby zminimalizować ryzyko konfliktów.
Zarządzanie gałęziami (branching)
Branching pozwala pracować równolegle nad funkcjami bez ingerencji w stabilną gałąź main. Najczęściej używane polecenia przedstawia poniższa tabela:
| Komenda | Opis | Przykład |
|---|---|---|
git branch |
lista lokalnych gałęzi | git branch |
git branch -a |
wszystkie gałęzie (lokalne i zdalne) | git branch -a |
git checkout <branch> |
przełącza na wskazaną gałąź | git checkout feature/login |
git branch <nazwa> |
tworzy nową gałąź | git branch feature/login |
git branch -d <nazwa> |
usuwa gałąź (bezpiecznie, jeśli zmergowana) | git branch -d old-feature |
git branch -D <nazwa> |
usuwa gałąź na siłę | git branch | grep -v "main" | xargs git branch -D |
Nowość w Git 2.23+: używaj git switch <branch> do przełączania gałęzi oraz git restore do przywracania zmian w plikach — komendy te są czytelniejszą alternatywą dla git checkout.
Merge i rozwiązywanie konfliktów
Aby połączyć zmiany z innej gałęzi, użyj git merge <branch> — polecenie łączy historię gałęzi i w razie potrzeby tworzy commit scalający.
Jeśli w trakcie łączenia pojawią się konflikty i chcesz przerwać operację, użyj git merge --abort.
Po udanym scaleniu wykonaj git push. Konflikty rozwiąż ręcznie w edytorze, a następnie potwierdź zmiany: git add i git commit.
Krótka definicja pomagająca zapamiętać działanie scalenia:
Dołączenie zmian ze wskazanej gałęzi.
Cofanie zmian i przegląd historii
Błędy się zdarzają — Git ułatwia bezpieczne wycofywanie zmian. Skorzystaj z poniższych poleceń:
git log– wyświetla historię commitów; wariantgit log --onelinepokazuje skrócony widok;git reset --soft HEAD~1– cofa ostatni commit, zachowując pliki w staging area;git reset --hard <commit>– przywraca stan repozytorium do wskazanego commitu; operacja nieodwracalna (np.git reset --hard abc123);git revert <commit>– tworzy nowy commit odwracający konkretne zmiany, bez przepisywania historii;git commit --amend– poprawia ostatni commit (np. dodaje pominięte pliki lub koryguje wiadomość).
Stash i przydatne triki
Gdy musisz szybko przełączyć kontekst lub odłożyć pracę na później, użyj schowka (stash):
git stash– tymczasowo chowa lokalne zmiany; podgląd:git stash list, przywrócenie:git stash pop;git stash push -m "Wiadomość" <plik>– zapisuje do schowka wybrane pliki wraz z opisem;git shortlog -sn– zlicza commity per autor, pomocne przy statystykach.
Drobne usprawnienia warte włączenia: git config --global color.ui auto (czytelne kolory w konsoli) oraz git push --tags (wypchnięcie tagów).
Najczęstsze błędy i dobre praktyki
Aby utrzymać porządek w historii i uniknąć problemów podczas współpracy, stosuj poniższe zasady:
- nie wykonuj push bez pull – zawsze najpierw zsynchronizuj zmiany ze zdalnym repozytorium;
- commituj małe porcje – krótkie, opisowe wiadomości i częste commity ułatwiają code review;
- używaj .gitignore – ignoruj katalogi i pliki jak node_modules czy .env, aby nie zaśmiecać repo;
- aliasy skracają czas – np.
git config --global alias.st statusułatwia szybkie wywołania.
Oto szybka ściągawka typowych potknięć i sposobów ich naprawy:
| Błąd | Rozwiązanie |
|---|---|
| konflikty merge | edytuj pliki konfliktowe, następnie git add i git commit |
| zapomniany plik w ostatnim commicie | git add <plik>, potem git commit --amend |
| zmiany na złej gałęzi | git stash, przełącz się, a potem git stash pop |
Ćwicz na darmowym repozytorium w serwisie GitHub — to najszybsza droga do płynności. Opanuj pracę w konsoli, a unikniesz ograniczeń i pułapek graficznych interfejsów.






