4 pravidla, jak udržet historii Git bez merge commitů
Druhá vychytávka se týká bund. Místo jednoho věšáku na všechno si pořiďte dvě úrovně: horní pro bundy dospělých, spodní ve výšce pasu pro bundy dětí. Ušetříte tím hádky i místo. Pokud věšák nemá dostatečný rozestup háčků, bundy se mačkají a schnou pomalu. Řešení je jednoduché: přidejte háčky do druhé řady, ale střídavě, ne přímo pod sebe. Vlhkost z bundy pak nekapká na bundu pod ní. V zimě navíc počítejte s tím, že mokrá bunda potřebuje odstup od zdi aspoň pět centimetrů, jinak začne plesnivět omítka.
Vyhýbejte se sdílenému měnitelnému stavu, kde to jde. Globální proměnná, kterou mění pět různých míst, je pro ladění past. Než začnete hledat, kdo ji přepsal, raději předejte hodnotu jako parametr nebo vraťte nový objekt. Nemusíte přepisovat celý projekt — stačí, když nové funkce nebudou sahat na vnější proměnné jen proto, že to bylo pohodlné. Čím méně míst může hodnotu změnit, tím menší prostor pro záhadné chování.
Každý, kdo někdy otevřel soubor, který psal před půl rokem, zná ten pocit. Místo abyste opravili jednu chybu, trávíte hodiny tím, že se vůbec orientujete v tom, co jste tehdy mysleli. Čitelný kód není estetická libůstka, ale investice, která se vrátí přesně ve chvíli, kdy něco přestane fungovat. Následujících pět návyků není o stylu, ale o tom, jak ušetřit čas, až budete hledat příčinu.
První jízda bez koleček nezačíná v okamžiku, kdy kolečka odšroubujete. Začíná mnohem dřív, když dítě zvládá odrážedlo nebo kolo s pedály natolik, že samo udrží rovnováhu a umí zastavit. Pokud tyhle základy chybí, bude učení zbytečně dlouhé a plné pádů. Dopřejte dítěti několik týdnů na odrážedle, kde si osvojí naklápění do zatáčky a přenášení váhy. Teprve pak má smysl přejít na kolo bez pomocných koleček.
Jak řešit konflikty a sdílené větve Při rebase se konflikty řeší postupně, commit po commitu. To je výhoda i past: pokud uděláte chybu, snadno se ztratíte. Proto je dobré před rebase mít čistý pracovní strom a vědět, jak se vrátit přes git rebase --abort. Ve chvíli, kdy na stejné větvi pracuje více lidí, je rebase nebezpečná. Řešením je krátkodobé feature větve, které drží jen jeden člověk, a sdílenou větev (main) aktualizovat pouze fast-forwardem.
Podvodné e-shopy bývají nápadně rychlé na to, aby po vás chtěly platbu. Nabízejí jen převod na účet, často do zahraničí, a vyhýbají se platbě kartou nebo dobírce. Právě dobírka je přitom pro zákazníka nejbezpečnější – zaplatíte až při převzetí. Pokud obchod trvá na okamžité platbě předem a tlačí na vás, že zboží je „poslední kus" nebo že akce končí za pár minut, je to manipulace. Seriózní obchod vám dá čas a nabídne více možností platby.
Typická chyba je rebase na větvi, která už je pushnutá a sdílená. Pak musíte použít git push --force-with-lease, což je bezpečnější než --force, ale stále to přepisuje historii. V týmu se proto domluvte, že force push je povolený jen na osobních větvích a nikdy na main. Další častá chyba je zapomenutý git fetch před rebase — bez něj rebasujete na zastaralou verzi a konflikty se jen odkládají.
Velikost rámu a výška sedla rozhodují víc než barva Kolo musí být tak velké, aby dítě při sedu na sedle dosáhlo oběma chodidly na zem, alespoň špičkami. Když nohy visí ve vzduchu, dítě se bojí a nedokáže se odrazit ani zachytit pád. Rám volte podle vzrůstu, ne podle věku uvedeného na krabici. Sedlo nastavte nejdřív nízko, aby dítě mohlo chodidly odrážet jako na odrážedle. Teprve když je jisté, postupně ho zvedejte. Řidítka by měla být dosažitelná bez předklánění a brzdy takové, aby na ně dítě dosáhlo celou dlaní, ne jen konečky prstů.
Základem je nastavit rebase jako výchozí chování při pullu. Každý člen týmu si nastaví git config --global pull.rebase true. Tím se při git pull změní větve tak, že lokální commity se přehrají na vrchol vzdálené větve. Pokud někdo zapomene, stačí mu připomenout, že git pull --rebase udělá totéž jednorázově. Pozor na to, že rebase mění hash commitů — nikdy ji nedělejte na větvi, kterou už někdo jiný stáhl a použil.
Světlo v ložnici se dělí na tři vrstvy: celkové, které osvětlí strop a stěny, doplňkové u postele a orientační, třeba malá lampa na komodě. Jeden silný zdroj uprostřed stropu vytváří ostré stíny a místnost vypadá nižší. Několik slabších světel rozptýlených po místnosti naopak hloubku přidá. Závěsy zavěste co nejvýš a co nejblíž ke stropu – prodlouží okno a tím i stěnu. Závěs by měl sahat až k podlaze, ne končit v půlce okna.
Vracejte se k chybám dřív, než vás dostihnou Každé volání, které může selhat, by mělo mít ošetřený výsledek. Zapomenutý catch u promise nebo ignorovaný null z databáze je klasická příčina hodin strávených nad nesmyslnou chybou o tři vrstvy výš. Pište obsluhu chyb hned při psaní funkce, ne až po prvním pádu v produkci. Když funkce vrací undefined, ověřte to na místě, kde hodnota vzniká — ne na místě, kde se používá. Ladění pak nezačíná u příznaku, ale u skutečné příčiny.