Včasih se med razvojem zgodi več napak, na primer nenamerno dodajanje občutljivih informacij v potrditev, potrditev nedokončanega dela ali vnašanje hroščev. Razveljavitev sprememb in ponovno pisanje zgodovine dnevnika Git omogoča uporabnikom Git, da popravijo te napake in zagotovijo čisto in pravilno kodno zbirko.
V tem vodniku bomo razpravljali o:
- Ukaz “git revert” v Gitu
- Ukaz “git rebase” v Gitu
- Kakšna je razlika med »git revert« in »git rebase« v Gitu?
Ukaz “git revert” v Gitu
' git povrni ” Ukaz se uporablja za generiranje novih potrditev, ki razveljavijo dodane spremembe v prejšnji objavi. Preprosto povedano, uporablja se za preklic dodanih sprememb, ki se zgodijo po izvedbi ukaza za ponastavitev. Poleg tega ne odstrani obstoječih podatkov, ampak samo doda novo potrditev na koncu, ki prekliče spremembe v lokalnem repozitoriju.
Oglejmo si praktične demonstracije zgoraj opisanega ukaza!
1. korak: Preusmerite v lokalni repozitorij
Najprej izvedite » cd ” z želeno potjo repozitorija in se pomaknite do nje:
cd 'C:\Uporabniki\nazma\Git\Git\Demo1'
2. korak: Ustvarite in dodajte datoteko
Nato ustvarite novo datoteko prek » odmev ' in mu sledite z ' git add ” ukaz:
echo 'moja nova datoteka' >> file8.txt && git add file8.txt
3. korak: Preverite stanje
Nato prikažite stanje trenutnega delovnega imenika z izvedbo ukaza “git status”:
status gitGlede na naslednji rezultat je bila nova datoteka uspešno sledena:
4. korak: Shranite spremembe
Če želite shraniti sledene spremembe, uporabite naslednji ukaz skupaj s sporočilom o potrditvi:
git commit -m 'file8.txt dodana'
5. korak: Oglejte si zgodovino dnevnika Git
Izvedite ukaz “git log” z “ – ena linija ” za prikaz vsake objave v eni vrstici:
git log --onelineSpodnji izhod kaže, da so bile vse objave uspešno navedene. Izbrali smo ' 939d65b ” SHA-hash za nadaljnjo uporabo:
6. korak: Razveljavite spremembe
Po tem uporabite » git povrni ” s predhodno izbrano potrditvijo, da bi razveljavil spremembe:
git povrni GLAVOPo izvedbi zgornjega ukaza:
- “ COMMIT_EDITMSG ” se bo odprla s privzetim urejevalnikom.
- Dodajte sporočilo o potrditvi za povrnitev operacije.
- Pritisnite ' CTRL+S ” za shranjevanje sprememb in zapiranje:
V skladu s spodnjim rezultatom smo uspešno razveljavili določeno potrditev:
7. korak: Preverjanje
Če želite preveriti razveljavljene spremembe, zaženite naslednji ukaz:
git log --onelineOpazimo lahko, da so bile spremembe uspešno razveljavljene pri novi objavi HASH:
Ukaz “git rebase” v Gitu
' git rebase ” se uporablja za združevanje ali združevanje več potrditev v linearno zaporedje s spreminjanjem in premikanjem na novo osnovo. Uporabnikom omogoča integracijo najnovejših sprememb in njihov prenos iz ene lokalne podružnice v drugo. Poleg tega ponovno napiše zgodovino potrditev na vrhu druge veje, ki je ponovno zasnovana.
Zdaj si za boljše razumevanje oglejte spodnji postopek!
1. korak: seznam podružnic
Najprej izvedite » veja git ” za ogled vseh lokalnih podružnic:
veja gitIz danega rezultata smo izbrali » funkcija ” podružnica za nadaljnjo uporabo:
2. korak: zamenjajte vejo
Za odjavo iz ene delujoče veje v drugo zaženite naslednji ukaz:
funkcija git checkout
3. korak: Ponovno nastavite vejo
Uporabi ' git rebase ” z imenom lokalne veje, da ga dodate:
git rebase master
4. korak: Prikaži zgodovino dnevnika
Če želite preveriti spremembe na ponovni podlagi, zaženite » git log' z ukazom '–oneline ” možnost:
git log --oneline
Kakšna je razlika med »git revert« in »git rebase« v Gitu?
Razlika med ' git povrni ' ukaz in ' git rebase ” je naveden v naslednji tabeli: to je to! Pojasnili smo ' git rebase' in 'git revert ” v Git.
Zaključek
' git povrni « in » git rebase ” sta dva različna ukaza, ki se uporabljata za upravljanje in manipulacijo zgodovine različic. Oboje je mogoče uporabiti za različne namene, kot je ' git povrni ” se uporablja za ustvarjanje nove objave, ki razveljavi dodane spremembe v objavi. Vendar pa je ' git rebase ” Ukaz se uporablja za spajanje več objav v linearno zaporedje s premikanjem ali spreminjanjem objav. V tem priročniku smo ponazorili razliko med ' git revert' in 'git rebase ” v Git.