Git 🌙
Chapters ▾ 2nd Edition

A3.3 Dodatek C: Ukazi Git - Osnove posnetkov

Osnove posnetkov

Za osnovni potek dela s posnetki vsebine in potrjevanjem v zgodovino je le nekaj osnovnih ukazov.

git add

Ukaz git add doda vsebino iz delovnega direktorija v področje priprave podatkov (ali »indeks«) za naslednjo potrditev. Ko se zažene ukaz git commit, privzeto pogleda le to področje za pripravo, zato se ukaz git add uporablja za urejanje, kaj želite imeti v naslednjem posnetku potrditve.

Ta ukaz je v Gitu izjemno pomemben in je v tej knjigi omenjen ali uporabljen na desetine mest. Hitro bomo pokrili nekatere edinstvene načine uporabe.

Najprej smo podrobno predstavili in razložili git add v razdelku Sledenje novih datotek.

V razdelku Konflikti osnovnega združevanja smo omenili, kako ga uporabiti za reševanje konfliktov združevanja.

V razdelku Interaktivno pripravljanje smo prešli na uporabo interaktivnega področja za pripravo samo določenih delov spremenjene datoteke.

Končno smo ga v razdelku Drevesni objekti emulirali na nizki ravni, tako da lahko dobite idejo, kaj počne za zavesami.

git status

Ukaz git status vam bo pokazal različna stanja datotek v vašem delovnem direktoriju in področju priprave. Katere datoteke so spremenjene in niso v področju priprave ter katere so v področju priprave, vendar še niso bile potrjene. V svoji običajni obliki vam bo tudi pokazal nekaj osnovnih namigov, kako premikati datoteke med temi stopnjami.

Najprej smo obravnavali status v razdelku Preverjanje statusa vaših datotek, tako v svojih osnovnih kot poenostavljenih oblikah. Čeprav ga uporabljamo skozi celotno knjigo, je tam zajeto praktično vse, kar lahko storite z ukazom git status.

git diff

Ukaz git diff se uporablja, ko želite videti razlike med katerima koli dvema drevesoma. To bi lahko bila razlika med vašim delovnim okoljem in področjem priprave (git diff sam po sebi), med področjem priprave in zadnjim potrjenim stanjem (git diff --staged) ali med dvema potrjenima stanjema (git diff master branchB).

Najprej smo si ogledali osnovne uporabe ukaza git diff v razdelku Ogled vaših sprememb v področju priprave in izven njega, kjer smo prikazali, kako si ogledati, katere spremembe so pripravljene in katere še niso.

Uporabili smo ga za iskanje morebitnih težav s praznimi znaki pred potrditvijo z možnostjo --check v razdelku Smernice potrjevanja.

V razdelku Določanje, kaj se uvaja smo prikazali, kako preveriti razlike med vejami bolj učinkovito s sintakso git diff A…​B.

V razdelku Napredno združevanje smo ga uporabili za filtriranje razlik med praznimi znaki z -b in primerjavo različnih stopenj konfliktnih datotek z --theirs, --ours in --base.

Nazadnje smo ga uporabili v razdelku Začetek s podmoduli za učinkovito primerjavo sprememb podmodulov z možnostjo --submodule.

git difftool

Ukaz git difftool preprosto zažene zunanje orodje, ki vam prikaže razliko med dvema drevesoma, v primeru, da želite uporabiti kaj drugega kot le vgrajeni git diff ukaz.

git commit

Ukaz git commit vzame vsebino datotek, ki so bile dane v pripravo z git add in zabeleži nov trajni posnetek v bazi podatkov in nato premakne kazalec veje na trenutni veji.

Osnove za izvajanje posnetkov smo predstavili v Potrjevanje vaših sprememb. Tam smo prikazali tudi, kako uporabiti zastavico -a, da preskočite korak git add v vsakodnevnih potekih dela in kako uporabiti zastavico -m, da v ukazni vrstici predate sporočilo za potrditev namesto zagona urejevalnika.

V razdelku Razveljavljanje stvari smo predstavili uporabo možnosti --amend, s katero lahko ponovno opravite zadnjo potrditev.

V razdelku Veje na kratko smo šli v podrobnosti, kaj git commit naredi in zakaj to počne na ta način.

V razdelku Podpisovanje potrditev smo pogledali kako kriptografsko podpisati posnetke z zastavico -S.

Nazadnje smo v razdelku Objekti potrditev pogledali, kaj ukaz git commit naredi v ozadju in kako je dejansko izveden.

git reset

Ukaz git reset se uporablja predvsem za razveljavitev stvari, kot se morda lahko sklepa iz glagola. Kazalec HEAD premakne in po potrebi spremeni kazalec index ali področje priprave in poleg tega lahko z možnostjo --hard po potrebi spremeni delovni imenik. S to končno možnostjo je mogoče izgubiti delo, če se uporabi napačno, zato se prepričajte, da ga razumete, preden ga uporabite.

Najprej smo obravnavali najpreprostejšo uporabo ukaza git reset v razdelku Povrnitev datoteke iz področja priprave, kjer smo ga uporabili za razveljavitev priprave datoteke, na kateri smo že uporabili ukaz git add.

Podrobno smo ga obravnavali v razdelku Demistifikacija ponastavitve, ki je v celoti posvečeno razlagi tega ukaza.

Ukaz git reset --hard smo uporabili za preklic združevanja v razdelku Prekinitev združevanja, kjer smo uporabili tudi ukaz git merge --abort, ki je nekakšen ovoj za ukaz git reset.

git rm

Ukaz git rm se uporablja za odstranjevanje datotek iz področja priprave in delovnega direktorija Git. Podobno kot ukaz git add, tudi ta ukaz pripravi odstranitev datoteke za naslednjo potrditev.

V razdelku Odstranjevanje datotek smo podrobneje obravnavali ukaz git rm, vključno z rekurzivnim odstranjevanjem datotek in odstranjevanjem datotek samo iz področja priprave, vendar jih pustimo v delovnem direktoriju z uporabo možnosti --cached.

Edina druga različna uporaba ukaza git rm v knjigi je v razdelku Odstranjevanje objektov, kjer smo na kratko uporabili in pojasnili uporabo možnosti --ignore-unmatch pri izvajanju ukaza git filter-branch, kar preprosto preprečuje, da bi se pojavila napaka, ko datoteke, ki jih želimo odstraniti, ni. To je lahko uporabno za namene skriptiranja.

git mv

Ukaz git mv je preprost ukaz, ki omogoča premikanje datotek in nato se izvede ukaz git add na novi datoteki ter ukaz git rm na stari datoteki.

Ta ukaz smo samo na kratko omenili v razdelku Premikanje datotek.

git clean

Ukaz git clean se uporablja za odstranjevanje nepotrebnih datotek iz vašega delovnega direktorija. To lahko vključuje odstranjevanje začasnih artefaktov gradnje ali datotek z združitvenimi konflikti.

Veliko možnosti in scenarijev, v katerih bi uporabili ukaz clean, smo obravnavali v razdelku Čiščenje vašega delovnega direktorija.

scroll-to-top