Kao softver za kontrolu verzija, Git omogućuje predvidljivo jednostavno vraćanje promjena. Ali čak je i koncept poništavanja promjene kompliciraniji nego što mislite na prvi pogled. Git repozitorij nije sasvim ista stvar kao skup datoteka na kojima radite lokalno. Poništavanje promjena znači razmotriti točno gdje ih želite poništiti.

gitprovjeri, git reset, i gitvratiti su naredbe koje vam mogu pomoći da se vratite na prethodnu verziju ne samo vaše baze koda, već i pojedinačnih datoteka. Upoznajte detalje ovih naredbi i brzo ćete skakutati po povijesti datoteka poput stručnjaka.

Što uopće znači resetiranje datoteke?

Važno je napomenuti da poništavanje datoteke može značiti različite stvari različitim ljudima u različitim okolnostima. Također, git reset naredba možda neće odgovarati vašim očekivanjima za ono što znači resetiranje.

Ponekad ćete htjeti poništiti lokalne promjene kako bi datoteka bila ponovno sinkronizirana s trenutnim spremištem. U drugim prilikama, možda ćete htjeti vratiti promjene koje ste već predali u spremište.

instagram viewer

Sljedeći pojmovi ključni su za razumijevanje razlike: radno stablo, scensko područje i spremište. Datoteke koje uređujete lokalno pripadaju radnom stablu. Datoteke koje predate na kraju završavaju u spremištu. Kada ste u procesu prikupljanja promjena, postavljate datoteke. Datoteka može imati različit sadržaj na svakom od ovih mjesta.

Vidi također: Napredni vodič za Git

Resetiranje datoteke možda mislite kao poništavanje promjena. Ali stanje vaše datoteke će odrediti koje promjene zapravo poništavate. Očigledan slučaj je kada napravite neke promjene, izvršite ih, a zatim kasnije odlučite da ih više ne želite.

Drugi slučaj može biti da ste postavili datoteku i sada je želite poništiti.

Kako mogu vratiti prethodno predanu datoteku?

Pozabavimo se slučajem koji je lakše razumjeti: predali ste datoteku i sada želite vratiti promjene u njoj.

Naredba Git za to je, pomalo neintuitivno, imenovana provjeri. Možda ste koristili provjeri prije za promjenu grana, ali to je mali dio onoga što naredba može učiniti. Također vam omogućuje da ažurirate datoteke u svom radnom stablu kako bi odgovarale onima u bilo kojem trenutku u povijesti spremišta. To možete učiniti za određenu oznaku, granu ili čak određeni urez.

Najkorisniji oblik ove naredbe opće namjene je:

git checkout [ID urezivanja] -- put/do/datoteka

Ovdje prolazimo određenim putem (put/do/datoteka) koji identificira samo jednu datoteku. Također navodimo ID urezivanja da bismo dobili datoteku kakva je postojala u tom određenom predanju. Ova naredba će ažurirati datoteku samo u našem radnom stablu.

Imajte na umu da odjavljivanje starije verzije datoteke mijenja radnu kopiju, bez urezivanja ili čak postavljanja. Da biste u potpunosti dovršili poništavanje u spremištu, morat ćete postaviti datoteku i stvoriti novo urezivanje.

Vidi također: Kako pregledati povijest projekta pomoću git dnevnika

Kako mogu promijeniti ono što postavljam?

Druga vrsta poništavanja uključuje vaše područje uprizorenja. Ovo sadrži promjene koje ćete unijeti pored spremišta. Ako ste postavili verziju datoteke i kasnije odlučite da je ne želite uključiti u sljedeće urezivanje, najprije ćete je htjeti poništiti.

Možete koristiti git reset naredba za poništavanje inscenirane datoteke:

git reset GLAVA put/do/datoteke

Mogu li brzo poništiti lokalne promjene?

Da, možete poništiti promjene u lokalnoj datoteci prije nego što se postavi. Koristite sljedeću naredbu:

git checkout -- put/do/datoteka

Imajte na umu da je ovo slično vraćanju promjene spremišta, samo izostavlja ID urezivanja. Nakon što izvršite ovu naredbu, Git će poništiti sve promjene vaše radne kopije.

Što je s git restauracijom?

Kasnije verzije Gita imaju noviju naredbu: vratiti. Za jednostavne slučajeve o kojima smo ovdje raspravljali, možete koristiti sljedeće ekvivalente. Da poništite promjenu u spremištu:

git restauracija --izvor [id urezivanja] staza/do/datoteka

Za descendiranje datoteke koristite:

git restauracija --postupna staza/do/datoteke

I da poništite promjene radne kopije:

git vraćanje puta/do/datoteke

Ovladavanje Git-ovom snagom verzije je neprocjenjivo

Iako se resetiranje datoteke može činiti uobičajenom stvari, otkrit ćete da se to događa prilično rijetko u praksi. Vjerojatnije je da ćete poništiti čitava urezivanja, a ne pojedinačne datoteke. Međutim, u slučajevima kada to trebate učiniti, Git to barem čini prilično jednostavnim.

Kako ukloniti datoteku iz urezivanja u Gitu

Koristite ove Git naredbe za izvođenje operacija kao što je uklanjanje datoteke iz urezivanja.

Pročitajte dalje

UdioCvrkutE-mail
Povezane teme
  • Programiranje
  • GitHub
  • Web razvoj
  • Programiranje
O autoru
Bobby Jack (Objavljeno 63 članka)

Bobby je tehnološki entuzijast koji je većinu dva desetljeća radio kao programer softvera. Strastven je za igranje igara, radi kao glavni urednik u Switch Player Magazine i uronjen je u sve aspekte online izdavaštva i web razvoja.

Više od Bobbyja Jacka

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu