Git pro lidi
Přehled
Schovej Git mechaniku za běžný jazyk a zároveň uživateli česky vysvětli následky každého kroku. Upřednostni bezpečné místní uložení, výslovné potvrzení pro sdílení nebo destruktivní akce a jednoduchou spolupráci přes merge v jedné existující složce projektu.
Slovník pro uživatele
Nejdřív používej tyto výrazy. Git termíny doplň do závorky jen tehdy, když to pomůže:
- "společná verze" pro
main nebo master
- "tvoje pracovní verze" pro osobní průběžnou větev uživatele
- "jejich pracovní verze" pro větev kolegy
- "bezpečné uložení" pro místní commit
- "poslat do cloudu", "zálohovat" nebo "sdílet" pro push
- "stáhnout poslední změny" pro fetch/pull a merge
- "spojit práci" pro merge
Vždy vysvětli, co se změní, kde se to změní a kdo to může vidět. Nenuť uživatele učit se Git slovník předtím, než může bezpečně jednat.
Pevná pravidla
- Nikdy nepoužívej Git worktrees.
- Nepoužívej rebase jako výchozí postup. Preferuj obyčejný merge.
- Nevytvářej větve proaktivně. Použij existující větve, pokud už existují. Novou větev vytvoř jen tehdy, když uživatel výslovně požádá o samostatnou pracovní verzi nebo zálohu.
- Při spolupráci preferuj jednu průběžnou osobní pracovní větev na uživatele, ne jednu větev na každý úkol.
- Neinstaluj Git aliasy a neměň globální Git konfiguraci, pokud uživatel výslovně nepožádá o pomoc s nastavením.
- Ber tuto v1 jako pomoc pro existující repozitáře. Pokud Git, remote nebo cloudová záloha chybí, diagnostikuj a vysvětli problém místo toho, abys z úkolu udělal kompletní setup účtů.
- Nikdy nepushuj, nepublikuj, nemaž, nezahazuj, neresetuj, nepřepisuj, nepoužívej force push a neřeš konflikt bez srozumitelného potvrzení.
Začni diagnostikou
Tyto read-only kontroly proveď automaticky, než doporučíš nebo uděláš další krok:
- Ověř, zda je dostupný Git:
git --version.
- Ověř, zda je aktuální složka v repozitáři:
git rev-parse --is-inside-work-tree.
- Zjisti stav:
git status --short --branch.
- Zjisti aktuální větev:
git branch --show-current.
- Zjisti remotes:
git remote -v.
- Zjisti poslední aktivitu a možné spolupracovníky:
git log --format="%h%x09%an%x09%ar%x09%s" -20.
- Pokud jde o spolupráci, zkontroluj větve:
git branch --all --verbose --no-abbrev.
Výsledky popisuj jako viditelnou evidenci, ne jako jistotu. Říkej "Vidím nedávné commity od dvou jmen" místo "repozitář používají dva lidé."
Bezpečnostní reference
Před workflow, které commitne, pushne, pullne, mergne, vyřeší konflikt nebo obnoví práci, přečti references/rizikove-kontroly.md.
Směrování frází
Převeď české uživatelské věty na nejmenší bezpečný postup:
- "zkontroluj projekt" -> pouze diagnostika.
- "ulož mi práci", "uloz mi praci", "bezpečné uložení", "bezpecne ulozeni", "checkpoint", "commit" -> místní bezpečné uložení.
- "zálohuj to", "zazalohuj to", "záloha", "zaloha", "sdílej to", "sdilej to", "pošli to do cloudu", "posli to do cloudu", "push" -> push až po potvrzení.
- "stáhni poslední změny", "stahni posledni zmeny", "stáhni změny od kolegy", "stahni zmeny od kolegy", "pull", "sync" -> fetch/pull přes merge, nejdřív bezpečné uložení při lokálních změnách.
- "spoj naši práci", "spoj nasi praci", "sluč to dohromady", "sluc to dohromady", "merge" -> merge existujících větví až po vysvětlení zdroje a cíle.
- "co se změnilo?", "co se zmenilo?", "diff", "historie" -> shrnutí lokálních změn nebo historie.
- "vrať to zpátky", "vrat to zpatky", "revert", "restore" -> nejdřív nedestruktivní obnova; destruktivní kroky potvrdit.
Ulož mi práci
Větu "ulož mi práci" ber jako svolení vytvořit jeden místní checkpoint commit, pokud rizikové kontroly projdou.
- Proveď diagnostiku a přečti
references/rizikove-kontroly.md.
- Česky shrň změněné soubory.
- Pokud existuje riziko, zastav a požádej o potvrzení. Pojmenuj konkrétní riziko.
- Pokud riziko nevidíš, připrav všechny aktuální změny přes
git add -A.
- Vytvoř jeden commit se srozumitelnou zprávou, například
checkpoint: ulozeni aktualni prace.
- Ukaž krátký hash commitu a vysvětli, že uložení je zatím jen na tomto počítači.
Preferuj jedno bezpečné uložení před čistou vývojářskou historií. Nedělej partial staging, pokud uživatel výslovně neřekne, že chce uložit jen část práce.
Zálohovat nebo sdílet
Před každým pushem vždy požádej o potvrzení.
- Ověř remote a cílovou větev.
- Vysvětli, že push pošle uložené změny mimo tento počítač a mohou je vidět lidé s přístupem k repozitáři.
- Pokud má aktuální větev několik lokálních commitů, doporuč nejdřív zálohu do vlastní pracovní větve uživatele.
- Pokud práce působí hotově, můžeš navrhnout pozdější sloučení do společné verze.
- Push proveď jen po výslovném potvrzení.
Pokud remote neexistuje, vysvětli, že v1 umí diagnostikovat chybějící cloudovou zálohu, ale nemá bez výslovné žádosti zakládat účty ani repozitáře.
Stáhnout poslední změny
Použij merge-based aktualizaci.
- Pokud existují lokální změny, vysvětli, že uživatel má neuloženou práci, a doporuč bezpečné uložení před stažením změn od někoho dalšího.
- Nepoužívej stash jako výchozí postup.
- Když je práce čistá nebo uložená, stáhni informace přes
git fetch --all --prune.
- Pull proveď přes merge, například
git pull --no-rebase, pokud má větev upstream.
- Pokud upstream chybí, vysvětli dostupné větve a doporuč nejbezpečnější další krok.
- Pokud vznikne konflikt, zastav a použij konflikt workflow.
Spojit práci
Používej existující větve. Nevytvářej nové větve, pokud o to uživatel nepožádá.
- Vysvětli zdroj a cíl lidsky: "Přinesu jejich pracovní verzi do tvojí pracovní verze" nebo "Spojím tvoji pracovní verzi do společné verze."
- Vyžaduj čistý pracovní stav nebo bezpečné uložení před mergem.
- Preferuj nejdřív přinést společnou verzi do pracovní verze uživatele, zkontrolovat výsledek a teprve potom mergnout pracovní verzi do společné verze, až uživatel řekne, že je práce hotová.
- Používej obyčejný
git merge, ne rebase.
- Při konfliktech zastav.
Konflikty
Když vznikne merge konflikt:
- Zastav před úpravou conflict markerů.
- Vypiš dotčené soubory.
- Vysvětli, co změnila strana uživatele a co změnila druhá strana.
- Rozliš, jestli jde o obsah, strukturu, nastavení, generovaný výstup nebo binární/assets soubor.
- Doporuč řešení normální češtinou.
- Před aplikací řešení požádej o potvrzení.
Co se změnilo
Pro lokální změny shrň git status --short, git diff --stat a vybrané čitelné diffy. Pro historii shrň poslední git log záznamy. Hodnoty, které vypadají jako tajné údaje, začerni nebo neukazuj; nikdy uživateli neopakuj tokeny, klíče ani hesla.
Vrátit nebo obnovit
Preferuj vratné možnosti:
- Nejdřív použij
git status, git log a git diff.
- Pro už nasdílené commity preferuj
git revert.
- Před rizikovou obnovou preferuj vytvořit nové bezpečné uložení.
- Potvrď
git restore, git reset, mazání větví, force push nebo jakékoliv přepsání.
1---2name: git-pro-lidi3description: Provází netechnické česky mluvící uživatele existujícími Git repozitáři běžnou češtinou. Použij při frázích: ulož mi práci, uloz mi praci, bezpečné uložení, bezpecne ulozeni, checkpoint, commit, zazálohuj to, zazalohuj to, záloha, zaloha, pošli to do cloudu, posli to do cloudu, sdílej to, sdilej to, stáhni poslední změny, stahni posledni zmeny, pull, push, merge, spoj naši práci, spoj nasi praci, sluč to, sluc to, co se změnilo, co se zmenilo, vrať to zpátky, vrat to zpatky, konflikt, Git pro lidi. Nepoužívej pro worktrees, rebase-first postupy ani kompletní nastavování GitHub účtu.4---56# Git pro lidi78## Přehled910Schovej Git mechaniku za běžný jazyk a zároveň uživateli česky vysvětli následky každého kroku. Upřednostni bezpečné místní uložení, výslovné potvrzení pro sdílení nebo destruktivní akce a jednoduchou spolupráci přes merge v jedné existující složce projektu.1112## Slovník pro uživatele1314Nejdřív používej tyto výrazy. Git termíny doplň do závorky jen tehdy, když to pomůže:1516- "společná verze" pro `main` nebo `master`17- "tvoje pracovní verze" pro osobní průběžnou větev uživatele18- "jejich pracovní verze" pro větev kolegy19- "bezpečné uložení" pro místní commit20- "poslat do cloudu", "zálohovat" nebo "sdílet" pro push21- "stáhnout poslední změny" pro fetch/pull a merge22- "spojit práci" pro merge2324Vždy vysvětli, co se změní, kde se to změní a kdo to může vidět. Nenuť uživatele učit se Git slovník předtím, než může bezpečně jednat.2526## Pevná pravidla2728- Nikdy nepoužívej Git worktrees.29- Nepoužívej rebase jako výchozí postup. Preferuj obyčejný merge.30- Nevytvářej větve proaktivně. Použij existující větve, pokud už existují. Novou větev vytvoř jen tehdy, když uživatel výslovně požádá o samostatnou pracovní verzi nebo zálohu.31- Při spolupráci preferuj jednu průběžnou osobní pracovní větev na uživatele, ne jednu větev na každý úkol.32- Neinstaluj Git aliasy a neměň globální Git konfiguraci, pokud uživatel výslovně nepožádá o pomoc s nastavením.33- Ber tuto v1 jako pomoc pro existující repozitáře. Pokud Git, remote nebo cloudová záloha chybí, diagnostikuj a vysvětli problém místo toho, abys z úkolu udělal kompletní setup účtů.34- Nikdy nepushuj, nepublikuj, nemaž, nezahazuj, neresetuj, nepřepisuj, nepoužívej force push a neřeš konflikt bez srozumitelného potvrzení.3536## Začni diagnostikou3738Tyto read-only kontroly proveď automaticky, než doporučíš nebo uděláš další krok:39401. Ověř, zda je dostupný Git: `git --version`.412. Ověř, zda je aktuální složka v repozitáři: `git rev-parse --is-inside-work-tree`.423. Zjisti stav: `git status --short --branch`.434. Zjisti aktuální větev: `git branch --show-current`.445. Zjisti remotes: `git remote -v`.456. Zjisti poslední aktivitu a možné spolupracovníky: `git log --format="%h%x09%an%x09%ar%x09%s" -20`.467. Pokud jde o spolupráci, zkontroluj větve: `git branch --all --verbose --no-abbrev`.4748Výsledky popisuj jako viditelnou evidenci, ne jako jistotu. Říkej "Vidím nedávné commity od dvou jmen" místo "repozitář používají dva lidé."4950## Bezpečnostní reference5152Před workflow, které commitne, pushne, pullne, mergne, vyřeší konflikt nebo obnoví práci, přečti `references/rizikove-kontroly.md`.5354## Směrování frází5556Převeď české uživatelské věty na nejmenší bezpečný postup:5758- "zkontroluj projekt" -> pouze diagnostika.59- "ulož mi práci", "uloz mi praci", "bezpečné uložení", "bezpecne ulozeni", "checkpoint", "commit" -> místní bezpečné uložení.60- "zálohuj to", "zazalohuj to", "záloha", "zaloha", "sdílej to", "sdilej to", "pošli to do cloudu", "posli to do cloudu", "push" -> push až po potvrzení.61- "stáhni poslední změny", "stahni posledni zmeny", "stáhni změny od kolegy", "stahni zmeny od kolegy", "pull", "sync" -> fetch/pull přes merge, nejdřív bezpečné uložení při lokálních změnách.62- "spoj naši práci", "spoj nasi praci", "sluč to dohromady", "sluc to dohromady", "merge" -> merge existujících větví až po vysvětlení zdroje a cíle.63- "co se změnilo?", "co se zmenilo?", "diff", "historie" -> shrnutí lokálních změn nebo historie.64- "vrať to zpátky", "vrat to zpatky", "revert", "restore" -> nejdřív nedestruktivní obnova; destruktivní kroky potvrdit.6566## Ulož mi práci6768Větu "ulož mi práci" ber jako svolení vytvořit jeden místní checkpoint commit, pokud rizikové kontroly projdou.69701. Proveď diagnostiku a přečti `references/rizikove-kontroly.md`.712. Česky shrň změněné soubory.723. Pokud existuje riziko, zastav a požádej o potvrzení. Pojmenuj konkrétní riziko.734. Pokud riziko nevidíš, připrav všechny aktuální změny přes `git add -A`.745. Vytvoř jeden commit se srozumitelnou zprávou, například `checkpoint: ulozeni aktualni prace`.756. Ukaž krátký hash commitu a vysvětli, že uložení je zatím jen na tomto počítači.7677Preferuj jedno bezpečné uložení před čistou vývojářskou historií. Nedělej partial staging, pokud uživatel výslovně neřekne, že chce uložit jen část práce.7879## Zálohovat nebo sdílet8081Před každým pushem vždy požádej o potvrzení.82831. Ověř remote a cílovou větev.842. Vysvětli, že push pošle uložené změny mimo tento počítač a mohou je vidět lidé s přístupem k repozitáři.853. Pokud má aktuální větev několik lokálních commitů, doporuč nejdřív zálohu do vlastní pracovní větve uživatele.864. Pokud práce působí hotově, můžeš navrhnout pozdější sloučení do společné verze.875. Push proveď jen po výslovném potvrzení.8889Pokud remote neexistuje, vysvětli, že v1 umí diagnostikovat chybějící cloudovou zálohu, ale nemá bez výslovné žádosti zakládat účty ani repozitáře.9091## Stáhnout poslední změny9293Použij merge-based aktualizaci.94951. Pokud existují lokální změny, vysvětli, že uživatel má neuloženou práci, a doporuč bezpečné uložení před stažením změn od někoho dalšího.962. Nepoužívej stash jako výchozí postup.973. Když je práce čistá nebo uložená, stáhni informace přes `git fetch --all --prune`.984. Pull proveď přes merge, například `git pull --no-rebase`, pokud má větev upstream.995. Pokud upstream chybí, vysvětli dostupné větve a doporuč nejbezpečnější další krok.1006. Pokud vznikne konflikt, zastav a použij konflikt workflow.101102## Spojit práci103104Používej existující větve. Nevytvářej nové větve, pokud o to uživatel nepožádá.1051061. Vysvětli zdroj a cíl lidsky: "Přinesu jejich pracovní verzi do tvojí pracovní verze" nebo "Spojím tvoji pracovní verzi do společné verze."1072. Vyžaduj čistý pracovní stav nebo bezpečné uložení před mergem.1083. Preferuj nejdřív přinést společnou verzi do pracovní verze uživatele, zkontrolovat výsledek a teprve potom mergnout pracovní verzi do společné verze, až uživatel řekne, že je práce hotová.1094. Používej obyčejný `git merge`, ne rebase.1105. Při konfliktech zastav.111112## Konflikty113114Když vznikne merge konflikt:1151161. Zastav před úpravou conflict markerů.1172. Vypiš dotčené soubory.1183. Vysvětli, co změnila strana uživatele a co změnila druhá strana.1194. Rozliš, jestli jde o obsah, strukturu, nastavení, generovaný výstup nebo binární/assets soubor.1205. Doporuč řešení normální češtinou.1216. Před aplikací řešení požádej o potvrzení.122123## Co se změnilo124125Pro lokální změny shrň `git status --short`, `git diff --stat` a vybrané čitelné diffy. Pro historii shrň poslední `git log` záznamy. Hodnoty, které vypadají jako tajné údaje, začerni nebo neukazuj; nikdy uživateli neopakuj tokeny, klíče ani hesla.126127## Vrátit nebo obnovit128129Preferuj vratné možnosti:130131- Nejdřív použij `git status`, `git log` a `git diff`.132- Pro už nasdílené commity preferuj `git revert`.133- Před rizikovou obnovou preferuj vytvořit nové bezpečné uložení.134- Potvrď `git restore`, `git reset`, mazání větví, force push nebo jakékoliv přepsání.