Git historie plná merge commitů: tichý zabiják čitelného logu

Z Mazovia

Další problém přichází ve chvíli, kdy tým používá vzdálený repozitář a každý si dělá, co chce. Bez jednotné strategie se rebase a merge mísí, a historie je ještě horší, než kdyby se používaly jen merge commity. Řešením je dohoda na úrovni týmu: buď všichni rebasují a mergují přes fast-forward, nebo se používají výhradně squash merge. Squash merge sice nevytvoří merge commit, ale sloučí všechny změny z větve do jednoho commitu, což je vhodné pro menší funkce. Nevýhodou je ztráta detailní historie, pokud je ve větvi více logických commitů.

Dalším častým omylem je zrcadlo v tmavém rámu. Masivní černá nebo hnědá lišta pohlcuje světlo a zmenšuje plochu odrazu, což je u malé předsíně kontraproduktivní. Zvolte zrcadlo bez rámu, nebo s velmi tenkým rámem v barvě stěny. Pokud už tmavý rám máte, namalujte stěnu za ním na světlejší odstín nebo přidejte reflektor, který rám osvětlí. Stejně důležité je udržovat zrcadlo čisté – mastné otisky a prach výrazně snižují jeho schopnost odrážet světlo.

Rozměr desky je další past. I když se zdá, že šířka 80 centimetrů je dostatečná, po přidání monitoru, klávesnice a šálku kávy vám zbude jen minimum místa. Změřte si, jaké předměty na stole budete mít, a přičtěte k jejich šířce alespoň 15 centimetrů na každou stranu. Délka stolu by měla odpovídat vaší výšce – při sezení by měly být předloktí rovnoběžně s podlahou. Nezapomeňte také na to, že sklápěcí stůl často slouží jako úložný prostor. Pokud má police nebo šuplíky, ověřte, zda se dají využít, i když je deska složená.

Nejčastější chybou je přílišné namočení látky a následné mechanické drhnutí. Tím se skvrna zatlačí hlouběji do vláken a po uschnutí se objeví znovu. Druhou častou chybou je použití přípravku bez předchozího testu na skrytém místě (např. pod sedákem). I zdánlivě bezpečný prostředek může změnit odstín nebo strukturu tkaniny. Než začnete, vždy vyzkoušejte na malé ploše a počkejte, až zaschne. Pokud se objeví změna barvy, hledejte jiný způsob čištění.

Nejčastější chyby, které celý efekt zničí První chybou je rebase větve, kterou už někdo jiný používá. Pokud jste svou větev pushli na sdílený remote a kolega z ní vytvořil vlastní větev, rebase přepíše historii a všem ostatním se rozsype. Pravidlo je jednoduché: rebase pouze na větvích, které jsou čistě vaše. Druhou častou chybou je rebase ve špatném pořadí – pokud nejprve mergnete větev do main a pak teprve rebasujete, vznikne zbytečný merge commit. Vždy nejprve rebasujte vlastní větev na aktuální main, až poté mergujte.

Občasná hloubková očista bez páry spočívá v použití pěnového čističe na čalounění. Pěnu naneste na celou plochu pohovky (ne pouze na skvrny) a nechte působit podle návodu. Poté ji odstraňte vysavačem s kobercovou hubicí. Pokud nemáte pěnu, vystačíte s klasickým saponátem – vytvořte hustou pěnu z teplé vody a trochy přípravku na mytí nádobí. Nanášejte pouze pěnu, ne tekutinu, protože přebytečná voda může proniknout do molitanu a způsobit zápach nebo plíseň. Pracujte po malých částech, abyste měli přehled o tom, kde už jste byli.

Na mastné skvrny od jídla nebo kosmetiky funguje jemný roztok vody a jaru (pár kapek na litr). Naneste ho houbičkou namočenou a důkladně vyždímanou, nechte působit pár minut a poté místo opláchněte čistou vodou. Důležité je nakonec vše vysušit – ideálně papírovou utěrkou a následným větráním místnosti. U suchých skvrn, jako je červené víno nebo káva, pomůže směs jedlé sody a vody vytvořená do pasty. Naneste ji na skvrnu, nechte zaschnout a poté vysajte. Tato metoda je šetrná a nevyžaduje žádné speciální vybavení.

Zavedení lineární historie nevyžaduje žádné speciální nástroje ani složité příkazy. Stačí změnit jeden zvyk: vždy rebase před merge a nikdy nepřepisujte cizí větve. Historie pak vypadá jako přímka, každý commit je snadno dohledatelný, a tým přestane ztrácet čas luštěním grafu, který nikdo nechápe. To je praktický krok, který vám ušetří hodiny práce při každém větším refaktoringu nebo hledání chyby z minulých týdnů.

Začněte tím, že zrcadlo umístíte naproti vstupním dveřím nebo kolmo ke dveřím do pokoje. Tím vytvoříte dojem, že předsíň pokračuje dál, i když fyzicky končí. Vyhněte se ale zrcadlu přímo proti sobě – pokud odráží jen vás a stěnu za vámi, efekt je nulový. Lepší je šikmé umístění, které zachytí část místnosti a světlo z vedlejšího prostoru. Často se osvědčí i zrcadlo zavěšené na boční stěně, které odráží protější osvětlenou plochu.

Základem je pochopit, co merge commit skutečně dělá. Vytváří speciální uzel, který má dva rodiče, a tím do historie zapisuje fakt, že v určitém okamžiku existovaly dvě různé větve, které se spojily. Pro běžný vývoj to často není důležité. Důležitější je, co se v daném úseku změnilo a proč. Lineární historie bez merge commitů umožňuje snadné procházení logu, jednoduché vracení změn pomocí git revert a čistší práci s nástroji jako je git bisect.