Skip to content

Polecenia Gita wyjaśnione

Polecenia Gita, których naprawdę używasz, pogrupowane według zadań: załóż repozytorium, zapisz pracę w migawce, rozgałęź i scal, czytaj historię, współpracuj przez zdalne repozytorium, cofaj błędy, odkładaj pracę na później oraz zarządzaj plikami i submodule. Każdy wiersz łączy polecenie z realistycznym wywołaniem.

Git ma setki poleceń, ale codzienna praca wymaga tylko kilku. Model myślowy jest taki: drzewo robocze to Twoje pliki, indeks (obszar przygotowania) to następny commit, a HEAD to bieżący commit. Dodajesz, commitujesz, udostępniasz. Czytaj status często. Wszystko poniżej zakłada, że wymienione polecenie już istnieje.

Tabela referencyjna · 55 wpisy
55 of 55 rows
Instalacja i konfiguracja
Ustawia Twoje imię i nazwisko, e-mail lub edytor raz dla wszystkich repozytoriów.git config --global user.name "Ada"
Definiuje skróconą nazwę dla polecenia, które wpisujesz często.git config --global alias.co checkout
Tworzy nowe repozytorium w bieżącym folderze.git init
Kopiuje zdalne repozytorium na Twój komputer.git clone git@github.com:org/repo.git
Kopiuje tylko najnowsze commity jednej gałęzi.git clone --depth 1 --single-branch git@github.com:org/repo.git
Podstawy migawek
Pokazuje, co jest w indeksie, zmodyfikowane i nieśledzone.git status -sb
Dodaje zmiany do indeksu, aby trafiły do następnego commita.git add src/app.ts
Przegląda zmiany fragment po fragmencie i dodaje tylko te, które akceptujesz.git add -p src/app.ts
Dodaje zmiany wszystkich śledzonych plików, bez dodawania nowych.git add -u
Zapisuje zmiany z indeksu jako nowy commit.git commit -m "fix: null check"
Zastępuje ostatni commit poprawioną wersją.git commit --amend -m "fix: handle empty input"
Pokazuje zmiany niedodane do indeksu, a z opcją --staged te dodane.git diff --staged
Pokazuje wszystkie zmiany od ostatniego commita, dodane do indeksu lub nie.git diff HEAD
Gałęzie i scalanie
Listuje, tworzy lub usuwa gałęzie.git branch feature-x
Usuwa scaloną gałąź (-D wymusza usunięcie, -a listuje wszystkie gałęzie).git branch -d feature-x
Przełącza gałęzie (nowoczesny zamiennik checkout).git switch feature-x
Tworzy nową gałąź i od razu na nią przełącza.git switch -c feature-x
Przełącza gałęzie lub przywraca pliki (starsze, szersze polecenie).git checkout feature-x
Wprowadza zmiany innej gałęzi do bieżącej gałęzi.git merge feature-x
Anuluje konfliktowe scalenie i przywraca gałąź do stanu poprzedniego.git merge --abort
Ponownie stosuje commity bieżącej gałęzi na szczycie innej gałęzi.git rebase main
Scala, porządkuje lub edytuje commity podczas ich ponownego stosowania.git rebase -i main
Kopiuje pojedynczy commit z innej gałęzi do bieżącej.git cherry-pick a1b2c3d
Oznacza commit czytelną etykietą, na przykład wersją.git tag -a v1.2.0
Wydaje inną gałąź w osobnym folderze w tym samym czasie.git worktree add ../repo-feature feature-x
Przeglądanie historii
Przegląda historię commitów.git log --oneline --graph --decorate
Przegląda historię wszystkich gałęzi, nie tylko bieżącej.git log --oneline --graph --all
Pokazuje pełny diff i komunikat jednego commita.git show HEAD
Pokazuje, kto ostatnio zmienił każdą linię pliku.git blame src/app.ts
Pokazuje każdy commit, na który wskazywał HEAD, w tym odrzucone.git reflog
Przeszukuje historię połowami, aby znaleźć commit, który coś zepsuł.git bisect start
Podsumowuje commity według autorów.git shortlog -sn
Nazywa bieżący commit, licząc od najbliższego taga.git describe --tags
Praca ze zdalnym repozytorium
Listuje lub dodaje zdalne repozytoria.git remote add origin <url>
Listuje zdalne repozytoria wraz z adresami fetch i push.git remote -v
Pobiera zdalne zmiany bez zmieniania Twoich gałęzi.git fetch origin
Pobiera zdalne zmiany i usuwa refere usuniętych gałęzi zdalnych.git fetch --prune
Pobiera i scala zdalne zmiany bieżącej gałęzi.git pull --rebase
Wysyła lokalne commity do zdalnego repozytorium.git push -u origin feature-x
Nadpisuje zdalną gałąź, ale tylko jeśli nikt wcześniej nie wypchnął zmian.git push --force-with-lease origin feature-x
Cofanie zmian
Odrzuca zmiany w drzewie roboczym lub usuwa je z indeksu.git restore src/app.ts
Usuwa plik z indeksu, zachowując jego edycje w drzewie roboczym.git restore --staged src/app.ts
Przesuwa czubek bieżącej gałęzi i opcjonalnie indeks.git reset --hard HEAD~1
Dodaje nowy commit, który cofa wcześniejszy (bezpieczny do udostępnienia).git revert HEAD
Usuwa nieśledzone pliki i foldery.git clean -fd
Schowek (stash)
Zapisuje niezacommitowaną pracę i resetuje drzewo robocze.git stash -u
Pokazuje wszystkie zapisane schowki.git stash list
Ponownie stosuje schowek i zachowuje go na liście.git stash apply stash@{1}
Usuwa schowek, którego już nie potrzebujesz.git stash drop stash@{1}
Ponownie stosuje najnowszy schowek i usuwa go z listy.git stash pop
Pliki i submodule
Przenosi plik lub zmienia jego nazwę i dodaje zmianę do indeksu.git mv old.ts src/new.ts
Usuwa plik i dodaje usunięcie do indeksu.git rm src/old.ts
Śledzi inne repozytorium jako folder wewnątrz tego repozytorium.git submodule add git@github.com:org/lib.git lib
Wydaje tylko nazwane foldery z dużego repozytorium.git sparse-checkout set src docs
Eksportuje drzewo commita jako plik tar lub zip.git archive -o repo.zip HEAD