Skip to content

Příkazy Gitu vysvětleny

Příkazy Gitu, které skutečně používáte, seskupené podle úkolů: založte repozitář, vytvořte snapshot práce, větvujte a slučujte, čtěte historii, sdílejte se vzdáleným repozitářem, napravte chyby, odložte práci stranou a spravujte soubory a submoduly. Každý řádek spojuje příkaz s realistickým voláním.

Git má stovky příkazů, ale denní práce potřebuje jen pár z nich. Mentální model zní: pracovní strom jsou vaše soubory, index (oblast přípravy) je další commit a HEAD je aktuální commit. Přidáte, commitnete, sdílíte. Čtěte status často. Vše níže předpokládá, že uvedený příkaz už existuje.

Referenční tabulka · 55 položek
55 of 55 rows
Nastavení a konfigurace
Nastaví vaše jméno, e-mail nebo editor jednou pro všechny repozitáře.git config --global user.name "Ada"
Definuje zkratku pro příkaz, který často píšete.git config --global alias.co checkout
Vytvoří nový repozitář v aktuální složce.git init
Zkopíruje vzdálený repozitář na váš počítač.git clone git@github.com:org/repo.git
Zkopíruje jen nejnovější commity jedné větve.git clone --depth 1 --single-branch git@github.com:org/repo.git
Základy snapshotů
Zobrazí, co je staged, změněné a netrackované.git status -sb
Přidá změny do indexu, aby se dostaly do dalšího commitu.git add src/app.ts
Prochází změny po kusech a přidá jen ty, které přijmete.git add -p src/app.ts
Přidá změny všech trackovaných souborů bez přidávání nových.git add -u
Zaznamená staged změny jako nový commit.git commit -m "fix: null check"
Nahradí poslední commit opravenou verzí.git commit --amend -m "fix: handle empty input"
Zobrazí nestaged změny, nebo se --staged ty staged.git diff --staged
Zobrazí všechny změny od posledního commitu, ať už staged nebo ne.git diff HEAD
Větve a slučování
Vypíše, vytvoří nebo smaže větve.git branch feature-x
Smaže sloučenou větev (-D vynutí smazání, -a vypíše všechny větve).git branch -d feature-x
Přepne větve (moderní náhrada checkout).git switch feature-x
Vytvoří novou větev a jedním krokem na ni přepne.git switch -c feature-x
Přepne větve nebo obnoví soubory (starší, širší příkaz).git checkout feature-x
Vnese změny jiné větve do aktuální větve.git merge feature-x
Zruší konfliktní sloučení a vrátí větev do původního stavu.git merge --abort
Přehraje commity aktuální větve na vrchol jiné větve.git rebase main
Sloučí, přeřadí nebo upraví commity během jejich přehrávání.git rebase -i main
Zkopíruje jednotlivý commit z jiné větve do této.git cherry-pick a1b2c3d
Označí commit čitelným štítkem, například verzí.git tag -a v1.2.0
Checkne jinou větev v samostatné složce současně s aktuální.git worktree add ../repo-feature feature-x
Prozkoumávání historie
Prochází historii commitů.git log --oneline --graph --decorate
Prochází historii všech větví, ne jen aktuální.git log --oneline --graph --all
Zobrazí plný diff a zprávu jednoho commitu.git show HEAD
Zobrazí, kdo naposledy změnil každý řádek souboru.git blame src/app.ts
Zobrazí každý commit, na který HEAD ukazoval, včetně zahozených.git reflog
Prohledává historii půlením, aby našel commit, který něco rozbil.git bisect start
Shrne commity podle autorů.git shortlog -sn
Pojmenuje aktuální commit odpočtem od nejbližšího tagu.git describe --tags
Spolupráce přes vzdálené repozitáře
Vypíše nebo přidá vzdálené repozitáře.git remote add origin <url>
Vypíše vzdálené repozitáře včetně jejich fetch a push URL.git remote -v
Stáhne vzdálené změny beze změny vašich větví.git fetch origin
Stáhne vzdálené změny a zahodí refy smazaných vzdálených větví.git fetch --prune
Stáhne a sloučí vzdálené změny aktuální větve.git pull --rebase
Pošle lokální commity do vzdáleného repozitáře.git push -u origin feature-x
Přepíše vzdálenou větev, ale jen pokud nikdo nepushl změny před vámi.git push --force-with-lease origin feature-x
Vracení změn
Zahodí změny v pracovním stromu, nebo je vyjme z indexu.git restore src/app.ts
Vyjme soubor z indexu a ponechá jeho úpravy v pracovním stromu.git restore --staged src/app.ts
Přesune špičku aktuální větve a volitelně i index.git reset --hard HEAD~1
Přidá nový commit, který vrací dřívější změny (bezpečné pro sdílení).git revert HEAD
Smaže netrackované soubory a složky.git clean -fd
Stash
Uloží necommitnutou práci a resetuje pracovní strom.git stash -u
Zobrazí všechny uložené stash.git stash list
Znovu použije stash a nechá ji v seznamu.git stash apply stash@{1}
Smaže stash, kterou už nepotřebujete.git stash drop stash@{1}
Znovu použije nejnovější stash a zahodí ji.git stash pop
Soubory a submoduly
Přesune nebo přejmenuje soubor a přidá změnu do indexu.git mv old.ts src/new.ts
Smaže soubor a přidá smazání do indexu.git rm src/old.ts
Trackuje jiný repozitář jako složku uvnitř tohoto.git submodule add git@github.com:org/lib.git lib
Checkne jen složky, které pojmenujete, z velkého repozitáře.git sparse-checkout set src docs
Exportuje strom commitu jako soubor tar nebo zip.git archive -o repo.zip HEAD