Orodje za ponovno pisanje zgodovine v Gitu | Razloženo

Orodje Za Ponovno Pisanje Zgodovine V Gitu Razlozeno



Včasih razvijalci pomotoma posredujejo občutljive podatke, kot so ključi API, poverilnice računa ali osebni podatki. Ponovno pisanje zgodovine Git jim omogoča, da te občutljive informacije odstranijo iz skladišča in zagotovijo, da niso dostopne drugim. V nekaterih primerih bodo razvijalci morda želeli reorganizirati vrstni red ali strukturo svojih potrditev. To bi lahko vključevalo preureditev obvez, združevanje sorodnih obvez ali razdelitev velike objave na manjše, bolj osredotočene objave.

Ta vadnica bo podrobno prikazala ponovno pisanje orodij za zgodovino Git.







Kaj je orodje za ponovno pisanje zgodovine v Gitu?

V Gitu je izraz ' ponovno pisanje zgodovine ” se nanaša na zmožnost spreminjanja zgodovine objave repozitorija. Vključuje spreminjanje ali spreminjanje obstoječih obvez, kot je spreminjanje sporočil obvez, preurejanje ali združevanje obvez ali celo popolno odstranitev obvez. Git nudi različne ukaze in tehnike za ponovno pisanje zgodovine, kot so:



Ti ukazi vam omogočajo, da spremenite sporočila o objavi, preuredite objave, vključite spremembe iz drugih vej ali celo prepišete celotno zgodovino objavi.



Kako prepisati zgodovino z uporabo ukaza “git commit –amend”?

Če želite prepisati zgodovino z ukazom »git commit« skupaj z možnostjo »–sprememba«, sledite spodnjim korakom:





  • Premakni se v navedeni imenik Git.
  • Oglejte si zgodovino dnevnika tako, da izvedete » git dnevnik ” ukaz.
  • Ponovno napišite zgodovino objave tako, da zaženete » git commit ' ukaz z ' – spremeniti ” možnost.

1. korak: premaknite se v lokalni imenik Git

Na začetku določite pot želenega repozitorija Git skupaj z ' cd ” in se premaknite nanj:



cd 'C:\Uporabniki\uporabnik\Git \n itRepo'

2. korak: Oglejte si dnevnik Git

Za ogled zgodovine dnevnika Git uporabite » git dnevnik ' ukaz z ' – ena linija ” možnost. Vsako objavo bo prikazal v eni vrstici:

git dnevnik --na spletu

3. korak: Ponovno napišite zgodovino

Izvedite ' git commit –sprememba « skupaj z ukazom »- m ” za prepis najnovejšega sporočila o objavi:

git commit --popraviti -m 'zgodovina spremenjena'

Spodnja slika kaže, da je bila zgodovina objave uspešno spremenjena:

4. korak: Preverjanje

Za preverjanje uporabite spodnji ukaz za ogled posodobljene objave:

git dnevnik --na spletu

Opazimo lahko, da je bila zadnja potrditev uspešno posodobljena:

Kako prepisati zgodovino z ukazom “git rebase -i”?

Za ponovno pisanje zgodovine z uporabo » git rebase -i ” sledite podanim korakom:

  • Ogled zgodovine dnevnika Git.
  • Prepišite zgodovino tako, da združite vse objave v eno samo objavo z uporabo ' git rebase i ” ukaz.

1. korak: Oglejte si dnevnik Git

Izvedite navedeni ukaz, da preverite zgodovino dnevnika trenutnega delujočega repozitorija:

git dnevnik --na spletu

Zagotovljen izhod kaže, da so bile vse objave uspešno navedene:

2. korak: Ponovno napišite zgodovino odobritev

Izvedite ' git rebase ' skupaj z ' -jaz « za interaktivni način in nastavite vrednost » GLAVA ” glede na vašo izbiro, da izberete objave:

git rebase -jaz GLAVA ~ 4

Posledično se je na zaslonu pojavil privzeti urejevalnik:

Zdaj zamenjajte ' izbrati » ključna beseda z » squash ”, da združi vse objave v eno samo objavo in ponovno napiše zgodovino:

Spodaj navedeni izhod kaže, da so bile vse objave združene v en sam HASH objave:

3. korak: potrdite ponovno pisanje zgodovine

Preverite spremembe tako, da zaženete » git dnevnik ' skupaj z ' – ena linija ” za seznam vsake objave v eni vrstici:

git dnevnik --na spletu

Opazimo lahko, da so bile izbrane objave uspešno združene:

Zagotovili smo najlažji način za ponovno pisanje zgodovine z uporabo drugega orodja v Gitu.

Zaključek

Orodje za ponovno pisanje zgodovine v Gitu spremeni zgodovino objave v skladišču. Vključuje spreminjanje obstoječih potrditev, kot je spreminjanje sporočil obvez in preurejanje ali združevanje potrditev. Git ponuja različne ukaze in tehnike za ponovno pisanje zgodovine, vključno z ' git commit –sprememba « in » git rebase ”.