Git ako softvér na správu verzií umožňuje predvídateľne jednoducho vrátiť zmeny späť. Ale aj koncept odvolania zmeny je komplikovanejší, ako by ste si na prvý pohľad mysleli. Úložisko Git nie je úplne to isté ako súbor súborov, na ktorých pracujete lokálne. Vrátenie zmien znamená zvážiť, kde presne ich chcete vrátiť späť.

gitodhlásiť sa, git reseta gitobnoviť sú príkazy, ktoré vám môžu pomôcť vrátiť sa k predchádzajúcej verzii nielen vašej kódovej základne, ale aj jednotlivých súborov. Spoznajte podrobnosti týchto príkazov a okamžite budete skákať po histórii súborov ako expert.

Čo vôbec znamená resetovanie súboru?

Je dôležité poznamenať, že resetovanie súboru môže pre rôznych ľudí za rôznych okolností znamenať rôzne veci. Tiež, git reset príkaz nemusí zodpovedať vašim očakávaniam, čo znamená resetovanie.

Niekedy budete chcieť vrátiť späť miestne zmeny, aby bol súbor opäť synchronizovaný s aktuálnym úložiskom. Pri iných príležitostiach možno budete chcieť vrátiť späť zmeny, ktoré ste už vložili do úložiska.

instagram viewer

Nasledujúce výrazy sú kľúčové na pochopenie rozdielu: pracovný strom, pracovná oblasť a úložisko. Súbory, ktoré upravujete lokálne, patria do pracovného stromu. Súbory, ktoré zaviažete, nakoniec skončia v úložisku. Keď ste v procese zhromažďovania zmien, pripravujete súbory. Súbor môže mať v každom z týchto umiestnení rôzny obsah.

Pozri tiež: Pokročilý návod Git

Resetovanie súboru môžete považovať za zrušenie zmien. Stav vášho súboru však určí, aké zmeny skutočne vrátite späť. Zjavný prípad je, keď urobíte nejaké zmeny, potvrdíte ich a neskôr sa rozhodnete, že ich už nechcete.

Ďalším prípadom môže byť, že ste vytvorili súbor a teraz ho chcete zrušiť.

Ako vrátim späť predtým potvrdený súbor?

Poďme sa zaoberať prípadom, ktorý je ľahšie pochopiteľný: odovzdali ste súbor a teraz chcete vrátiť zmeny v ňom.

Príkaz Git, ktorý to má urobiť, je trochu neintuitívne pomenovaný odhlásiť sa. Možno ste použili odhlásiť sa pred prepnutím vetiev, ale to je malá časť toho, čo príkaz dokáže. Umožňuje vám tiež aktualizovať súbory vo vašom pracovnom strome tak, aby sa zhodovali so súbormi v ktoromkoľvek bode histórie úložiska. Môžete to urobiť pre konkrétnu značku, vetvu alebo dokonca konkrétne potvrdenie.

Najužitočnejšia, univerzálna forma tohto príkazu je:

git checkout [ID potvrdenia] -- cesta/k/súboru

Tu prechádzame konkrétnou cestou (cesta/k/súboru), ktorý identifikuje iba jeden súbor. Špecifikujeme tiež ID odovzdania, aby sme získali súbor tak, ako existoval pri tomto konkrétnom odovzdaní. Tento príkaz aktualizuje súbor iba v našom pracovnom strome.

Všimnite si, že odhlásenie staršej verzie súboru upraví pracovnú kópiu bez jej potvrdenia alebo dokonca prípravy. Ak chcete úplne dokončiť vrátenie späť do úložiska, budete musieť vytvoriť súbor a vytvoriť nové odovzdanie.

Pozri tiež: Ako skontrolovať históriu projektu pomocou protokolu git

Ako zmením to, čo inscenujem?

Iný typ vrátenia sa týka vašej pracovnej oblasti. Toto obsahuje zmeny, ktoré vykonáte vedľa úložiska. Ak ste vytvorili verziu súboru a neskôr sa rozhodnete, že ju nechcete zahrnúť do ďalšieho odovzdania, budete ju chcieť najskôr zrušiť.

Môžete použiť git reset príkaz na zrušenie fázy súboru vo fáze:

git reset HEAD cesta/k/súboru

Môžem rýchlo vrátiť späť miestne zmeny?

Áno, zmeny v lokálnom súbore môžete vrátiť späť skôr, ako bude pripravený. Použite nasledujúci príkaz:

git checkout -- cesta/k/suboru

Všimnite si, že je to podobné ako vrátenie zmeny úložiska, len vynecháva ID odovzdania. Po vykonaní tohto príkazu Git zruší všetky zmeny vo vašej pracovnej kópii.

A čo git restore?

Neskoršie verzie Git majú novší príkaz: obnoviť. Pre jednoduché prípady, o ktorých sme tu diskutovali, môžete použiť nasledujúce ekvivalenty. Ak chcete vrátiť zmenu v úložisku:

git restore --source [id potvrdenia] cesta/k/suboru

Ak chcete zrušiť scénu súboru, použite:

git restore --stage path/to/file

A ak chcete vrátiť zmeny pracovnej kópie:

git obnoviť cestu/k/súboru

Zvládnutie výkonu verzií Gitu je neoceniteľné

Hoci sa resetovanie súboru môže zdať ako bežná vec, zistíte, že sa to v praxi stáva veľmi zriedka. Je pravdepodobnejšie, že budete vracať späť celé odovzdania a nie jednotlivé súbory. Avšak v prípadoch, keď to potrebujete urobiť, Git to aspoň robí pomerne jednoduchým.

Ako odstrániť súbor z Commit v Git

Pomocou týchto príkazov Git môžete vykonávať operácie, ako je odstránenie súboru z odovzdania.

Prečítajte si ďalej

zdieľamTweetujteEmail
Súvisiace témy
  • Programovanie
  • GitHub
  • Vývoj webových aplikácií
  • Programovanie
O autorovi
Bobby Jack (63 publikovaných článkov)

Bobby je technologický nadšenec, ktorý väčšinu dvoch desaťročí pracoval ako vývojár softvéru. Je nadšený pre hry, pracuje ako šéfredaktor v časopise Switch Player Magazine a je ponorený do všetkých aspektov online publikovania a vývoja webu.

Viac od Bobbyho Jacka

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné e-knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber