Kaip versijų valdymo programinė įranga, „Git“ leidžia nuspėjamai lengvai atšaukti pakeitimus. Tačiau net pakeitimo atšaukimo koncepcija yra sudėtingesnė, nei iš pradžių galite pagalvoti. „Git“ saugykla nėra tas pats, kas failų, su kuriais dirbate vietoje, rinkinys. Atšaukti pakeitimus reiškia tiksliai apgalvoti, kur norite juos anuliuoti.
gitkasos, git atstatyti, ir gitatkurti yra komandos, kurios gali padėti grįžti į ankstesnę ne tik kodų bazės, bet ir atskirų failų versiją. Susipažinkite su šių komandų detalėmis ir greitai peršoksite failų istoriją kaip ekspertas.
Ką vis dėlto reiškia failo nustatymas iš naujo?
Svarbu pažymėti, kad failo nustatymas iš naujo skirtingiems žmonėms skirtingomis aplinkybėmis gali reikšti skirtingus dalykus. Taip pat, git atstatyti komanda gali neatitikti jūsų lūkesčių, ką reiškia atstatymas.
Kartais norėsite anuliuoti vietinius pakeitimus, kad failas vėl būtų sinchronizuotas su dabartine saugykla. Kitais atvejais galbūt norėsite atšaukti pakeitimus, kuriuos jau atlikote saugykloje.
Norint suprasti skirtumą, labai svarbu laikytis šių terminų: darbo medis, sustojimo zona ir saugykla. Failai, kuriuos redaguojate vietoje, priklauso darbo medžiui. Failai, kuriuos įpareigojate, galiausiai patenka į saugyklą. Kai renkate pakeitimus, sudarote failus. Kiekvienoje iš šių vietų failas gali turėti skirtingą turinį.
Taip pat žiūrėkite: Išplėstinė Git pamoka
Galite galvoti apie failo nustatymą iš naujo kaip pakeitimų anuliavimą. Tačiau nuo failo būsenos priklausys, kokius pakeitimus iš tikrųjų atšauksite. Akivaizdus atvejis yra tada, kai atliekate kai kuriuos pakeitimus, juos įsipareigojate, o vėliau nusprendžiate, kad jų nebenorite.
Kitas atvejis gali būti, kad sukūrėte failą ir dabar norite jį panaikinti.
Kaip grąžinti anksčiau įrašytą failą?
Panagrinėkime atvejį, kurį lengviau suprasti: įtraukėte failą ir dabar norite atšaukti jo pakeitimus.
Git komanda, skirta tai padaryti, yra šiek tiek neintuityviai pavadinta kasos. Galbūt naudojote kasos prieš tai, kad perjungtumėte šakas, tačiau tai yra nedidelė dalis to, ką komanda gali padaryti. Tai taip pat leidžia atnaujinti failus darbiniame medyje, kad jie atitiktų bet kuriame saugyklos istorijos taške esančius failus. Tai galite padaryti tam tikrai žymai, šakai ar net konkrečiam įsipareigojimui.
Naudingiausia bendrosios paskirties šios komandos forma yra:
git checkout [įsipareigojimo ID] – kelias/į/failą
Čia mes einame konkrečiu keliu (kelias/į/failą), kuris identifikuoja tik vieną failą. Taip pat nurodome įpareigojimo ID, kad gautume tokį failą, koks jis buvo to konkretaus įsipareigojimo metu. Ši komanda atnaujins failą tik mūsų darbiniame medyje.
Atkreipkite dėmesį, kad patikrinus ankstesnę failo versiją, darbinė kopija pakeičiama jos neįpareigojant ar net nestatant. Norėdami visiškai anuliuoti saugyklą, turėsite sutvarkyti failą ir sukurti naują įsipareigojimą.
Taip pat žiūrėkite: Kaip patikrinti projekto istoriją naudojant „git log“.
Kaip pakeisti tai, ką statau?
Kitas anuliavimo tipas apima jūsų sustojimo sritį. Jame yra pakeitimai, kuriuos atliksite šalia saugyklos. Jei sukūrėte failo versiją ir vėliau nuspręsite, kad nenorite jos įtraukti į kitą patvirtinimą, pirmiausia norėsite ją atšaukti.
Galite naudoti git atstatyti komanda, kad atšauktų pakopinį failą:
git atstatyti HEAD kelias/į/failą
Ar galiu greitai anuliuoti vietinius pakeitimus?
Taip, galite anuliuoti vietinio failo pakeitimus, kol jis neparengtas. Naudokite šią komandą:
git checkout – kelias/į/failą
Atkreipkite dėmesį, kad tai panašu į saugyklos pakeitimo atšaukimą, tik praleidžiamas įvykdymo ID. Kai tik atliksite šią komandą, „Git“ anuliuos visus jūsų darbinės kopijos pakeitimus.
Ką apie git atkūrimą?
Vėlesnėse „Git“ versijose yra naujesnė komanda: atkurti. Paprastiems atvejams, kuriuos aptarėme čia, galite naudoti šiuos atitikmenis. Norėdami anuliuoti saugyklos pakeitimą:
git atkurti -- šaltinis [įsipareigojimo ID] kelias/į/failą
Norėdami panaikinti failo stadiją, naudokite:
git atkūrimas – pakopos kelias/į/failą
Ir norėdami anuliuoti darbinės kopijos pakeitimus:
git atkūrimo kelias/į/failą
Įvaldyti „Git“ versijų kūrimo galią yra neįkainojama
Nors failo nustatymas iš naujo gali atrodyti įprastas dalykas, praktiškai tai nutinka gana retai. Labiau tikėtina, kad atšauksite visus įsipareigojimus, o ne atskirus failus. Tačiau tais atvejais, kai jums reikia tai padaryti, „Git“ bent jau daro tai gana paprasta.
Naudokite šias Git komandas, kad atliktumėte tokias operacijas kaip failo pašalinimas iš įsipareigojimo.
Skaitykite toliau
- Programavimas
- GitHub
- Interneto kūrimas
- Programavimas
Bobis yra technologijų entuziastas, beveik du dešimtmečius dirbęs programinės įrangos kūrėju. Jis aistringai mėgsta žaidimus, dirba žurnalo „Switch Player“ vyriausiuoju redaktoriumi ir yra pasinėręs į visus internetinės leidybos ir žiniatinklio kūrimo aspektus.
Prenumeruokite mūsų naujienlaiškį
Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. knygų ir išskirtinių pasiūlymų!
Norėdami užsiprenumeruoti, spustelėkite čia