Kuo Git skiriasi „git revert“ ir „git rebase“?

Kuo Git Skiriasi Git Revert Ir Git Rebase



Kartais kuriant nutinka kelios klaidos, pvz., neskelbtinos informacijos pridėjimas prie netyčinių įsipareigojimų, nebaigtų darbų atlikimas arba klaidų įvedimas. Grąžinus pakeitimus ir perrašant „Git“ žurnalo istoriją, „Git“ naudotojai gali ištaisyti šias klaidas ir užtikrinti švarią bei teisingą kodų bazę.

Šiame vadove aptarsime:





„git revert“ komanda „Git“.

git revert ” komanda naudojama naujiems įsipareigojimams generuoti, kurie grąžina ankstesnio įsipareigojimo pridėtus pakeitimus. Paprastais žodžiais tariant, jis naudojamas atšaukti pridėtinius pakeitimus, kurie įvyksta įvykdžius komandą iš naujo. Be to, jis nepašalina esamų duomenų, o tik prideda naują įsipareigojimą pabaigoje, kuris atšaukia pakeitimus vietinėje saugykloje.



Pažiūrėkime praktinius aukščiau aprašytos komandos demonstravimus!



1 veiksmas: peradresuokite į vietinę saugyklą

Iš pradžių paleiskite „ cd ” komandą su norimu saugyklos keliu ir eikite į ją:





cd 'C:\Users\nazma\Git\Git\Demo1'

2 veiksmas: sukurkite ir pridėkite failą

Tada sukurkite naują failą naudodami „ aidas “ komandą ir sekti ją naudodami „ git pridėti “ komanda:

echo 'mano naujas failas' >> file8.txt && git pridėti failą8.txt



3 veiksmas: patikrinkite būseną

Tada parodykite dabartinio darbo katalogo būseną vykdydami komandą „git status“:

git statusas

Pagal šią išvestį naujas failas buvo sėkmingai sekamas:

4 veiksmas: išsaugokite pakeitimus

Norėdami išsaugoti stebimus pakeitimus, naudokite šią komandą kartu su patvirtinimo pranešimu:

git commit -m 'pridėtas failas8.txt'

5 veiksmas: peržiūrėkite „Git“ žurnalo istoriją

Vykdykite komandą „git log“ su „ -viena linija “ vėliavėlė, kad kiekvienas įsipareigojimas būtų rodomas vienoje eilutėje:

git log --oneline

Žemiau pateikta išvestis rodo, kad visi įsipareigojimai buvo sėkmingai išvardyti. Mes pasirinkome ' 939d65b 'SHA maišos tolesniam naudojimui:

6 veiksmas: grąžinkite pakeitimus

Po to naudokite „ git revert “ komandą su anksčiau pasirinktu įsipareigojimu, norėčiau anuliuoti pakeitimus:

git revert HEAD

Įvykdę aukščiau pateiktą komandą:

  • COMMIT_EDITMSG “ failas bus atidarytas naudojant numatytąjį redaktorių.
  • Pridėkite patvirtinimo pranešimą, kad grąžintumėte operaciją.
  • Paspauskite ' CTRL + S “ klavišus, kad išsaugotumėte pakeitimus ir uždarytumėte:

Pagal toliau pateiktą išvestį mes sėkmingai grąžinome konkretų įsipareigojimą:

7 veiksmas: patvirtinimas

Norėdami patikrinti grąžintus pakeitimus, paleiskite šią komandą:

git log --oneline

Galima pastebėti, kad pakeitimai buvo sėkmingai atstatyti naudojant naują įsipareigojimą HASH:

„git rebase“ komanda Git

git rebase ” komanda naudojama norint sujungti arba sujungti kelis įsipareigojimus į linijinę seką modifikuojant ir pereinant prie naujos bazės. Tai leidžia vartotojams integruoti naujausius pakeitimus ir perkelti juos iš vieno vietinio filialo į kitą. Be to, ji perrašo įsipareigojimų istoriją ant kitos iš naujo pagrįstos šakos.

Dabar peržiūrėkite toliau pateiktą procedūrą, kad geriau suprastumėte!

1 veiksmas: išvardykite šakas

Pirmiausia paleiskite „ gito šaka “ komanda, kad peržiūrėtumėte visus vietinius filialus:

gito šaka

Iš pateiktos išvesties pasirinkome „ funkcija “ filialas tolesniam naudojimui:

2 veiksmas: perjunkite filialą

Norėdami pereiti iš vienos darbo šakos į kitą, paleiskite šią komandą:

git patikros funkcija

3 veiksmas: Rebase filialas

Naudoti ' git rebase “ komanda su vietinio filialo pavadinimu, kad jį pridėtumėte:

git rebase master

4 veiksmas: Rodyti žurnalo istoriją

Norėdami patikrinti iš naujo pagrįstus pakeitimus, paleiskite „ git log“ komandą su „–oneline “ variantas:

git log --oneline

Kuo Git skiriasi „git revert“ ir „git rebase“?

Skirtumas tarp ' git revert “ komanda ir „ git rebase “ komanda pateikta šioje lentelėje: štai ir viskas! Mes paaiškinome „ git rebase“ ir „git revert “ komandos Git.

Išvada

git revert “ ir „ git rebase “ yra dvi skirtingos komandos, naudojamos versijų istorijai valdyti ir manipuliuoti. Abu gali būti naudojami skirtingiems tikslams, pvz., „ git revert ” komanda naudojama naujam įsipareigojimui sugeneruoti, kuris grąžina pridėtus pakeitimus. Tačiau „ git rebase ” komanda naudojama norint sujungti kelis įsipareigojimus į linijinę seką perkeliant arba modifikuojant įsipareigojimus. Šiame vadove iliustravome skirtumą tarp „ git revert“ ir „git rebase “ komandos Git.