git
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
| git [2019/03/23 18:16] – [Checkout] djbuldog | git [2025/08/28 10:09] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 | ||
|---|---|---|---|
| Řádek 39: | Řádek 39: | ||
| git config [--global] user.email " | git config [--global] user.email " | ||
| </ | </ | ||
| + | |||
| + | ===== Nastavení ===== | ||
| + | |||
| + | * ukládání credential (cache = dočasně, store = trvale) | ||
| + | |||
| + | git config [--global] credential.helper " | ||
| + | |||
| ===== Commit ===== | ===== Commit ===== | ||
| Řádek 83: | Řádek 90: | ||
| </ | </ | ||
| + | ==== Změny ==== | ||
| + | |||
| + | * message u posledního commit lze změnit příkazem | ||
| + | |||
| + | git commit --amend | ||
| + | |||
| + | * pokud byl commit už odeslán na vzdálený repozitář, | ||
| + | * pokud už někdo navázal na tento commit, akce se neprovede | ||
| + | |||
| + | git push --force-with-lease [repository] [branch] | ||
| ===== Vracení změn ===== | ===== Vracení změn ===== | ||
| Řádek 88: | Řádek 105: | ||
| * vracení změn přidaných do staging area | * vracení změn přidaných do staging area | ||
| + | * zrušení všech necommitovaných lokálních změn | ||
| * zrušení lokálních commitů | * zrušení lokálních commitů | ||
| < | < | ||
| git reset [cesta] | git reset [cesta] | ||
| + | git reset --hard | ||
| git reset < | git reset < | ||
| </ | </ | ||
| Řádek 126: | Řádek 145: | ||
| ==== Revert ==== | ==== Revert ==== | ||
| - | * vrácení | + | * vrácení |
| < | < | ||
| - | # Vrátí všechny změny provedené commitem a4f2bb8 | + | git revert |
| - | git revert | + | |
| </ | </ | ||
| - | < | ||
| - | # Umožní upravit zprávu nového commitu | ||
| - | git revert -e a4f2bb8 | ||
| - | </ | ||
| ===== Odkládání změn ===== | ===== Odkládání změn ===== | ||
| Řádek 228: | Řádek 242: | ||
| * jsou podstatou gitu | * jsou podstatou gitu | ||
| - | * slouží jako kopie projektu | + | * slouží jako kopie projektu |
| * hlavní větev se většinou označuje jako master | * hlavní větev se většinou označuje jako master | ||
| * další větve vznikají libovolně, využívají se například pro | * další větve vznikají libovolně, využívají se například pro | ||
| * merge requests (po akceptování merge do hlavní větve se zdrojová zahodí) | * merge requests (po akceptování merge do hlavní větve se zdrojová zahodí) | ||
| * nezávislý vývoj nových feature | * nezávislý vývoj nových feature | ||
| + | * dělí se na | ||
| + | * lokální - před prvním push se musí nastavit/ | ||
| + | * vzdálené - nelze přímo upravovat, ze vzdálené se vytvoří nejprve lokální větev | ||
| ==== Informace ==== | ==== Informace ==== | ||
| Řádek 253: | Řádek 270: | ||
| * Vytvoří novou větev s názvem new_feature, | * Vytvoří novou větev s názvem new_feature, | ||
| - | < | + | |
| - | git branch new_feature | + | |
| - | </ | + | |
| * Vytvoří větev a přepne se do ní (provede checkout) | * Vytvoří větev a přepne se do ní (provede checkout) | ||
| - | < | + | |
| - | git checkout -b new_feature | + | |
| - | </ | + | |
| - | * Vymaže větev pouze, pokud pokud je mergnutá | + | * Přepnutí |
| - | < | + | git checkout master |
| - | git branch -d new_feature | + | |
| - | </ | + | * Vymaže lokální větev (pokud je mergnutá do jiné větve) |
| + | |||
| + | | ||
| + | |||
| + | * Odstraní lokální reference na vzdálené větve, které byly na vzdálené straně odstraněny | ||
| + | |||
| + | git fetch --prune | ||
| * Přejmenuje aktuální větev | * Přejmenuje aktuální větev | ||
| - | < | + | |
| - | git branch -m awesome_feature | + | |
| - | </ | + | |
| - | * Přepnutí do existující větve | ||
| - | |||
| - | < | ||
| - | git checkout master | ||
| - | </ | ||
| ===== Tagy ===== | ===== Tagy ===== | ||
| Řádek 394: | Řádek 406: | ||
| git diff master..origin/ | git diff master..origin/ | ||
| </ | </ | ||
| + | |||
| + | * zobrazení všech změn externím nástrojem (meld) mezi aktuální branch a zadanou | ||
| + | |||
| + | git difftool --dir-diff origin/ | ||
| + | |||
| ===== Externals ===== | ===== Externals ===== | ||
| Řádek 478: | Řádek 495: | ||
| + | ====== Workflow ====== | ||
| + | |||
| + | ===== GitLab ===== | ||
| + | |||
| + | * Ruby projekt pro projekty v Git | ||
| + | |||
| + | * Fork | ||
| + | * celý projekt patří jednomu uživateli | ||
| + | * pokud chce někdo provést změnu, vytvoří si fork celého projektu | ||
| + | * následně vytvoří merge request do původního projektu ze svého | ||
| + | |||
| + | * Větve | ||
| + | * projekt má více členů | ||
| + | * hlavní větve jsou protected proti přímé editaci | ||
| + | * pokud chce někdo provést změnu, vytvoří si novou větev z cílové | ||
| + | * následně vytvoří merge request do původní větve | ||
| + | |||
| + | ===== Řešení konfliktů při merge ===== | ||
| + | |||
| + | < | ||
| + | VER_FROM=< | ||
| + | VER_TO=< | ||
| + | |||
| + | git fetch origin | ||
| + | git checkout ${VER_FROM} | ||
| + | git pull | ||
| + | git branch -D merge-${VER_FROM}-to-${VER_TO} | ||
| + | git checkout -b merge-${VER_FROM}-to-${VER_TO} origin/ | ||
| + | git merge --no-ff ${VER_FROM} | ||
| + | git mergetool | ||
| + | |||
| + | git commit -m " | ||
| + | git push origin merge-${VER_FROM}-to-${VER_TO} | ||
| + | </ | ||
| + | |||
| + | * dobrý mergetool (lze nastavit) je meld | ||
| + | * levé okno je FROM | ||
| + | * pravé okno je TO | ||
| + | * prostřední je výsledek merge | ||
| ====== Git HTTPS server ====== | ====== Git HTTPS server ====== | ||
git.1553361380.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)
