Malý tahák ke Gitu
Transkript
Malý tahák ke Gitu
Malý tahák ke Gitu Martin Mareš [email protected], 2015-05-15 Volání příkazů: • • • • git hglobální přepínačei hpříkaz i hpřepínačei hobjektyi [ -- hcestyi ] git hpříkaz i --help / git help hpříkaz i / man git-hpříkaz i git hpříkaz i -h – ukáže stručné shrnutí přepínačů http://www.git-scm.com/documentation / http://knihy.nic.cz/ Lokální příkazy: • • • • • • • • • • • • • • • • init – založí .git config – nezapomeňte nastavit user.name a user.email status a .gitignore add hsoubory a adresářei – přidá soubory do indexu add --patch . . . – vybere jen kousky commit – commitne aktuální stav indexu commit -a – commitne všechny změněné soubory commit hsoubory a adresářei – commitne vyjmenované soubory rm [-r] [-f] [--cached] hsoubory a adresářei show [hcommiti][:hcestai] – ukáže obsah konkrétního commitu nebo objektu log [--patch] [hcommiti | hod i..hdoi] – vypisuje historii diff – vypíše rozdíl mezi pracovním stromem a indexem diff --cached [hcommiti] – mezi commitem a indexem diff hcommiti – mezi commitem a pracovním stromem diff hod i..hdoi – mezi dvěma commity gui, gitk, qgit – základní klikátka Práce s větvemi: • • • • • branch hvětev i [hpočáteční commiti] – založí novou větev branch [-a] – vypíše známé větve checkout hvětev i – přepne na určenou větev checkout hcommiti – „bezhlavýÿ mód merge [--squash] [-s hstrategiei] hvětev i – sloučí určenou větev do aktivní Při konfliktu: add a commit / reset --hard HEAD Hodí se checkout --ours | --theirs / show :1:hsoubor i • diff hod i...hdoi – oproti společnému předkovi • tag [-s] [-a] htagi – vyrobí [podepsaný] [anotovaný] tag 1 Více repositářů: • • • • • • • • clone hURLi – naklonuje vzdálený repositář, vytvoří origin/. . . fetch [hremotei] – stáhne obsah a aktualizuje zrcadlící větve pull [hremotei] – to je fetch + merge push [hremotei] [hvětev i] – odešle obsah větve remote add hremotei hURLi – přidá další vzdálený repositář branch hmístní větev i hremotei/hvzdálená větev i – zapamatuje si vazbu push --set-upstream hremotei hvětev i – totéž, pokud větev vznikla lokálně init --bare – tak obvykle vzniká sdílený repositář Jména verzí: • • • • • • • • href i = HEAD / @ / hjméno větvei / hjméno tagui → commit na špici h40-znakový hashi nebo jeho jednoznačný prefix hrev i^ / hrev i^2 . . . – otec, druhý otec . . . hrev i~3 – zkratka za hrev i^^^ [href i]@{13} – stav před 13 změnami reference (via lokální reflog) [href i]@{yesterday} – stav v daném okamžiku (via lokální reflog) [href i]@{upstream} – příslušná vzdálená větev @{-5} – před 5 přepnutími aktuální větve První pomoc, když se něco pokazí: • • • • Pokud není commitnuto: checkout / reset / rm --cached Commitnuto, ale nepushnuto: reset --hard (HEAD^ | hcommiti) Už jsme pushnuli: revert hcommiti / v nouzi nejvyšší push --force Po nepovedeném resetu: reflog / reset --hard @{1} Údržba: • gc [--aggresive] – garbage collection • clean – mažeme soubory, které nejsou v repositáři • fsck [--unreachable] – nestraší tu? [existují nedosažitelné commity?] Další triky: • • • • • • Archeologie: grep / bisect / blame / diff -S hstringi Odkládání změn: stash save / stash apply Vyzobávání změn: cherry-pick / cherry / rebase Práce s patchi a maily: format-patch / apply / send-email / am Export: archive Přepisování historie: filter-branch 2
Podobné dokumenty
roUIÁNÍ KotEM onucE
po žluté (u zastávky jsme se napojiIi i na červenou),přejdeme most přes Tichou or|ici a na siIníci uprostřed obce (asi po 100 metrech od mostu) přejdeme do|eva na v|astní z n a č e n íM . í r n ý m...
Vícečeské PDF
O INCOMPLETE: stáhla se část a pak spojení spadlo. O OK: stáhl se celý soubor. Přesnější popis chyby je možno získat z object request->stat.state. To je některá z konstant S xxx, která určuje ...
VíceY36SI3 Zadání Disciplinované přístupy ke změnám
Jednotlivé soubory obvykle existují ve více repository současně, a tak při úpravách stejného souboru více vývojáři vznikají tzv. větve (branches). Z obrázku vidíme, že Sue a Joe upravují stejný so...
Více