Git - podstawowe operacje
Materiał przygotowany z pomocą AI
Git to rozproszony system kontroli wersji — zapisuje historię zmian w plikach, pozwala wracać do wcześniejszych stanów, równolegle rozwijać kilka wątków pracy (gałęzie) i synchronizować zmiany między kilkoma kopiami repozytorium. Jest narzędziem standardowym w programowaniu, ale przydaje się też do śledzenia każdej innej treści tekstowej — dokumentacji, konfiguracji, notatek.
Polecenia poniżej działają identycznie na Linuksie i macOS. Jeśli potrzebujesz kontekstu, jak w ogóle pracuje się w terminalu, zacznij od Komendy terminala - Linux i macOS.
Konfiguracja jednorazowa
Po pierwszej instalacji Gita ustaw dane, którymi będziesz podpisywać commity, oraz nazwę domyślnej gałęzi:
git config --global user.name "User"
git config --global user.email "[email protected]"
git config --global init.defaultBranch mainPraca z repozytorium
git clone https://github.com/user/repo.git
git status # co się zmieniło
git diff # zmiany niezatwierdzone
git diff --staged # zmiany w stage
git add plik.txt # dodaj do stage
git add . # dodaj wszystko (uważaj na sekrety)
git restore plik.txt # cofnij zmiany w pliku
git commit -m "[SEKCJA] Opis"
git log --oneline -20 # ostatnie 20 commitów
git log --graph --oneline --all # graf gałęziTrzy obszary Gita
Plik może być w jednym z trzech stanów: roboczy (working tree — to, co widzisz w edytorze), stage (poczekalnia tego, co wejdzie do następnego commita, modyfikowana przez
git add) i repozytorium (commity zapisane przezgit commit). Poleceniegit statuspokazuje, w którym stanie są które pliki.
Gałęzie
git branch # lista lokalnych
git branch -a # lista wszystkich (lokalne + zdalne)
git checkout -b nowa-galaz # utwórz i przełącz
git switch main # przełącz (nowsza składnia)
git merge develop # scal develop do bieżącej
git merge develop --ff-only # tylko fast-forward (bez commita scalającego)Synchronizacja ze zdalnym
git fetch # pobierz zmiany ze zdalnego (bez scalania)
git pull # fetch + merge
git push # wyślij commity
git push -u origin nowa-galaz # pierwszy push nowej gałęzi
git push --force-with-lease # bezpieczniejszy force pushHistoria i lokalna praca
git show HEAD # ostatni commit
git blame plik.txt # kto zmienił którą linię
git stash # odłóż zmiany na bok (wraca przez stash pop)
git stash pop # przywróć ostatnio odłożone zmiany
git push --forcenadpisuje historięUżywaj
--force-with-leasezamiast--force— chroni przed nadpisaniem cudzych commitów. Nigdy nie force-pushuj namainw repozytorium z innymi konsumentami.
Zobacz także
- IT — indeks narzędzi informatycznych
- Komendy terminala - Linux i macOS — kontekst pracy w powłoce
- Pro Git book — bezpłatna książka, polskie tłumaczenie
- Oh My Git! — gra ucząca Gita wizualnie
- git-scm.com — oficjalna dokumentacja