Jak rozchodí první REST API a neztratí se v odpovědi
Při odesílání dat – typicky POST nebo PUT – se vyhněte dvěma chybám: zapomenete nastavit hlavičku Content-Type na application/json, nebo pošlete data ve špatném formátu. Server pak neví, jak data zpracovat, a vrátí 400 nebo 415. Prakticky to znamená, že v testovacím nástroji vždy explicitně nastavte hlavičku a ujistěte se, že tělo požadavku je validní JSON. Například pokud posíláte objekt, nesmí obsahovat koncové čárky. A pokud API očekává konkrétní schéma, najdete ho v dokumentaci – ale i bez ní si pomůžete tím, že si odpověď na GET prohlédnete a podle ní postavíte požadavek.<br>
<br>
<br>
<br>
Velkým zdrojem zábavy bez peněz je příroda, ale i ta může mít svá úskalí. Vydejte se na procházku do lesa, ale vezměte si s sebou mapu (i když ji máte v mobilu) a dostatek tekutin. Častým omylem je spoléhat se na signál ve vzdálenějších oblastech. Dopředu si také zjistěte, jestli v okolí nejsou nějaké přírodní zajímavosti – skály, studánky, vyhlídky. Děti pak vnímají procházku jako dobrodružství, ne jako „jen chození". Pokud máte kolo, naplánujte trasu podél řeky nebo starých polních cest, kde nejezdí auta. Nezapomeňte na cyklistické přilby a základní opravnou sadu, protože defekt dokáže zkazit den.<br>
<br>
<br>
<br>
Na co si dát pozor při rebase a fast-forward merge Nejčastější chybou je rebase na větvi, kterou sdílíte s ostatními. Pokud někdo jiný už z této větve vytvořil vlastní branch nebo ji má v místním repozitáři, přepisování historie způsobí konflikty a zmatek. Proto rebase používejte pouze na větvích, které jsou výhradně vaše a ještě nebyly publikovány. Jakmile je branch na vzdáleném repozitáři a ostatní ji používají, je bezpečnější použít merge, i když to znamená vznik merge commitů. Tailorujte proto pravidla pro tým: dohodněte se, že rebase se provádí jen před prvním push, a poté se větve integrují výhradně přes merge.<br>
<br>
<br>
<br>
Každý čtvrtý pes v českých domácnostech má podle veterinárních průzkumů nadváhu. Často si toho ale majitelé nevšimnou, protože kila navíc přicházejí postupně. Přitom stačí pár jednoduchých testů, které zvládnete doma za pět minut. Pokud zjistíte problém, nemusíte hned nasazovat drastickou dietu – stačí změnit pár návyků.<br>
<br>
<br>
<br>
Při používání fast-forward merge mějte na paměti, že tento postup funguje pouze tehdy, pokud vaše větev neobsahuje vlastní merge commity. Pokud jste do ní začlenili změny z hlavní větve pomocí merge, fast-forward se nepovede a budete muset použít klasický merge. Proto se vyplatí udržovat větve krátké a často integrovat změny z hlavní větve rebase. Tím zajistíte, že při dokončení bude merge vždy fast-forward, a historie zůstane lineární a přehledná.<br>
<br>
<br>
<br>
Merge commity v historii gitu často znepřehledňují vývoj a ztěžují hledání příčin chyb. Místo nich lze použít rebase, který přepíše historii větve tak, aby vypadala lineárně. Než ale začnete, ujistěte se, že všichni v týmu dodržují stejný postup – jinak vznikne chaos, který je horší než samotné merge commity.<br>
<br>
<br>
<br>
Nakonec si osvojte práci s hlavičkami požadavku, jako je Accept a User-Agent. Mnoho API vyžaduje, abyste specifikovali, v jakém formátu chcete odpověď. Pokud to neuvedete, server může poslat defaultní – a to nemusí být JSON. A pozor na limity: API má často omezení počtu požadavků. Pokud je překročíte, dostanete 429. To není chyba vašeho kódu, ale přesto musíte vědět, jak na to reagovat – typicky počkat a zkusit znovu. Praxe dělá mistra: vyzkoušejte si to na veřejném API, naschvál udělejte chybu a sledujte, co server odpoví. Teprve pak pochopíte, jak celý mechanismus funguje.<br>
<br>
<br>
<br>
Základem je pravidlo: před integrací své větve do hlavní vždy proveďte rebase na aktuální hlavní větev. Místo toho, abyste vytvořili merge commit, přehrajete své commity na špičku hlavní větve. Tím se historie větve vyčistí a při samotném merge dojde k fast-forward, tedy posunu ukazatele bez nového commitů. V praxi to znamená, že git log ukazuje čistou sekvenci commitů, kterou lze snadno procházet a případně vracet. Tento postup je vhodný zejména pro týmy, které pracují na krátkých větvích s úzce zaměřenými změnami.<br>
<br>
<br>
<br>
Jak na interaktivní rebase a squashování commitů Interaktivní rebase je silný nástroj pro úklid historie. Pomocí git rebase -i HEAD~3 můžete upravit poslední tři commity. V editoru pak máte možnost commity spojit, přejmenovat nebo přeobjednat. Typickým scénářem je spojení drobných oprav typu „fix typo" do jednoho logického celku. Stačí místo pick napsat squash u commitů, které chcete sloučit. Pozor ale na to, že squash mění hash commitu, a proto je nevhodný pro větve, které už někdo jiný sdílí.<br>
<br>
<br>
<br>
Jak na to konkrétně? Po dokončení práce na vaší větvi a před push do vzdáleného repozitáře spusťte git fetch origin a poté git rebase origin/main. Pokud dojde ke konfliktům, vyřešte je stejným způsobem jako při merge, ale s tím rozdílem, že po vyřešení pokračujete příkazem git rebase --continue. Tento postup vám umožní začlenit změny z hlavní větve do vaší práce, aniž byste vytvořili zbytečný merge commit. Po úspěšném rebase provedete git push --force-with-lease, který bezpečně aktualizuje vzdálenou větev, aniž by smazal cizí změny.





