Rebasing
Rebasing vám umožňuje začlenit změny z jedné větve do jiné větve úpravou historie odevzdání. Přehraje odevzdání ze zdrojové větve do cílové větve. Výsledkem je čistší a lineárnější historie odevzdání.
Příklad: Řekněme, že máte nazvanou větev funkcí feature-branch
a chcete začlenit nejnovější změny z main
větve. Můžete použít následující příkaz:
git checkout feature-branch
git rebase main
Tím se použijí odevzdání z main
větve na feature-branch
. Jakékoli konflikty bude nutné vyřešit během procesu rebase.
Stashing
Stashing vám umožňuje uložit aktuální změny, které nejsou připraveny k potvrzení, a dočasně se vrátit zpět do čistého pracovního adresáře. To je užitečné, když potřebujete přepnout na jinou větev nebo pracovat na jiné funkci, aniž byste provedli změny, na kterých právě pracujete.
Příklad: Řekněme, že pracujete na větvi funkcí a provedli jste nějaké změny, ale potřebujete přejít na jinou větev. K uložení změn můžete použít následující příkazy:
git stash
po přepnutí na novou větev pak můžete použít skryté změny pomocí:
git stash apply
Git Hooks
Git Hooks
jsou skripty, které jsou spouštěny konkrétními událostmi Git, jako je pre-commit, post-commit, pre-push atd. Umožňují automatizovat určité akce nebo vynucovat specifická pravidla ve vašem workflow.
Příklad: Předpokládejme, že chcete před potvrzením spustit linter na vašem kódu. Můžete vytvořit hákový skript před potvrzením, který spustí linter a zabrání odevzdání, pokud se vyskytnou nějaké chyby lintingu.
Git Submodule
Git Submodule
vám umožní zahrnout další úložiště Git jako podadresář do vašeho hlavního úložiště. To je užitečné, když máte projekt, který závisí na externích knihovnách nebo komponentách.
Příklad: Máte projekt, který vyžaduje specifickou knihovnu. Místo duplikování kódu knihovny ve vašem úložišti jej můžete přidat jako submodul. Tímto způsobem můžete uchovávat kód knihovny odděleně a v případě potřeby jej snadno aktualizovat.
Git Revert and Git Reset
Git Revert
zruší předchozí potvrzení vytvořením nového potvrzení, které zruší změny provedené v původním potvrzení. Git Reset
, na druhé straně vám umožňuje přesunout ukazatel větve na jiný odevzdání, čímž efektivně zrušíte odevzdání z historie odevzdání.
Příklad: Pokud chcete vrátit zpět poslední potvrzení, můžete použít git revert HEAD
k vytvoření nového potvrzení, které zruší změny provedené v posledním potvrzení. Pokud chcete poslední odevzdání úplně zrušit, můžete použít git reset HEAD~1
k posunutí ukazatele větve zpět o jeden odevzdání.
Tyto pokročilé koncepty v Gitu poskytují výkonné možnosti pro efektivní správu vašeho úložiště. Pochopení toho, jak je používat a kdy je aplikovat, výrazně zlepší váš pracovní postup Git a řízení projektů.