První projekt · 05

Spolupráce a problémy


Poslední kapitola: jak se nepoprat s kolegy o stejný projekt a co dělat, když se něco nepovede. Ani jedno není důvod k obavám — obojí se dá zvládnout pár jednoduchými pravidly.

Pravidla společného repa

Když na stejném repozitáři pracuje víc lidí najednou, snadno se stane, že vaše změny a změny kolegy nechtěně narazí do sebe. Čtyři jednoduchá pravidla tomu z velké části předejdou.

  1. Na začátku session stáhněte novinky

    Než začnete pracovat, ať Claude stáhne aktuální stav z GitHubu — jinak byste mohli upravovat zastaralou verzi projektu:

    Stáhni novinky z GitHubu.

    Tomuhle kroku se říká pull.

  2. Commitujte v malých krocích

    Po každé ucelené a funkční změně nechte Claude rovnou uložit commit — místo jednoho velkého commitu na konci dne. Menší commity se snáz projdou i vrátí, kdyby bylo potřeba.

  3. Nenechávejte push na večer

    Pushujte průběžně, ne až na poslední chvíli. Čím déle si necháváte změny jen pro sebe, tím větší je šance, že se s kolegovými změnami střetnou najednou a ve větším rozsahu.

  4. Do commitů nikdy tajemství

    Hesla, klíče a jiná tajemství nepatří do kódu ani do commitů — víc o tom, kam s nimi místo toho, popisuje kapitola Bezpečnost.

Kdy branch a pull request

Ne každá změna potřebuje stejnou opatrnost. Řiďte se tím, jak velký je zásah a čí je projekt:

Rovnou na master

Malé úpravy vlastního projektu, na kterém nikdo jiný nepracuje — commit a push rovnou do hlavní větve (master).

Branch a pull request

Větší zásah do sdíleného projektu, nebo chvíle, kdy chcete, ať se na změnu podívá kolega, než se dostane do hlavní verze.

Stačí říct Claudovi, ať pracuje ve vlastní větvi (branch) a na konci otevře pull request — žádost o sloučení změn, kterou si kolega může nejdřív prohlédnout:

Udělej to ve větvi a otevři pull request, ať se na to Pavel podívá.

Screenshot SC-13 Otevřený pull request na GitHubu.

Když se něco pokazí

Přehled nejčastějších zádrhelů a co na ně říct Claudovi:

PříznakCo udělat
Konflikt při pull„Změny se potkaly s kolegovými — zachovej obě verze a ukaž mi je.“
Web po deployi rozbitý„Vrať poslední nasazení“ + screenshot Claudovi
Claude hlásí vyčerpaný limitpočkat na obnovení / přepnout menší model (viz Modely a úsilí)
Docker neběžíspustit aplikaci Docker Desktop, pak „zkus to znovu“
Deploy hlásí nedostupný serverpřipojit VPN, „zkus to znovu“
Claude se zacyklil / je zmatený„Zkomprimuj kontext“, případně nová session a stručně shrnout úkol
Nevím, co se stalo„Vysvětli mi jednoduše, co jsi právě udělal a proč.“

Nic se nedá rozbít nenávratně

Ať uděláte cokoliv z výše uvedeného, nic se nedá rozbít nenávratně. Git si pamatuje celou historii projektu — každá předchozí verze zůstává uložená a jde se k ní kdykoliv vrátit, i kdyby se aktuální verze pokazila.

A pokud si přesto nebudete vědět rady, poslední záchrana je napsat Pavlovi na jelinek@smpl.cz.