Kaip ištrinti įsipareigojimą Git

Įsipareigojimo ištrynimas „Git“ yra kažkas, ką galite padaryti dažniau, nei tikitės. Atliekant tokią įprastą užduotį, tikriausiai būtų patogu turėti trumpą vadovą.

Kaip ištrinti įsipareigojimą Git

Šiame straipsnyje atsakoma, kaip ištrinti „Git“ įsipareigojimą ir kitus galimus sprendimus, kuriuos galite išbandyti. Taigi, jei padarėte klaidą paskutiniame įsipareigojime arba norite išvalyti atpirkimo istoriją, skaitykite toliau, kad sužinotumėte.

Įsipareigojimo ištrynimas naudojant Git

Įsipareigojimus „Git“ galite ištrinti keliais būdais. Jei nenorite arba negalite pakeisti pranešimo Git commit , dažniausiai naudojamas sprendimas yra naudoti komandas „git reset“ ir „git revert“.

Norėdami naudoti „git reset“, atlikite šiuos veiksmus:

  1. Raskite įsipareigojimą, kurį norite ištrinti, naudodami git log .
    Kaip ištrinti įsipareigojimą Git
  2. Naudokite git reset –soft [commit hash], kad anuliuotumėte commit komandą nieko „neišmesdami“.
    Kaip ištrinti įsipareigojimą Git
  3. Arba naudokite git reset –hard [commit hash], kad iš naujo nustatytumėte įsipareigojimą prieš tą, kurį norite ištrinti.
    Kaip ištrinti įsipareigojimą Git
  4. Pakeiskite „[commit hash]“ įsipareigojimo, pagal kurį taikote, maiša.

Arba taip pat galite naudoti „git rebase -i HEAD~[Number]“, kad pakeistumėte paskutinį įsipareigojimų skaičių. Pakeiskite [numeris] įsipareigojimų skaičiumi. Git parodys failą, kurį galėsite redaguoti ir pašalinti įsipareigojimą, kurio norite nebelikti. Darykite tai tik tuo atveju, jei dar nesate įsipareigoję.

Tai paprastas metodas, tačiau būkite atsargūs. Jis visam laikui pašalina visus įsipareigojimų pakeitimus po to, kai jį nustatėte iš naujo, todėl įsitikinkite, kad tai yra būtent tai, ko norite.

Arba galite naudoti „git revert“ taip:

  1. Jei norite išlaikyti pakeitimus savo darbo kataloge, naudokite git revert [commit hash] . Ši komanda sukuria naują įvykdymą, kuris anuliuoja jūsų nurodyto įsipareigojimo pakeitimus.
    Kaip ištrinti įsipareigojimą Git
  2. Grįžę perkelkite pakeitimus į nuotolinę saugyklą naudodami git push .
    Kaip ištrinti įsipareigojimą Git

Čia yra kita alternatyva, jei norite ištrinti kelis konkrečius įsipareigojimus:

  1. Naudokite git checkout [last commit hash], kad patikrintumėte paskutinį įsipareigojimą, kuris turėtų likti.
    Kaip ištrinti įsipareigojimą Git
  2. Sukurkite naują filialą naudodami git checkout -b remontą .
    Kaip ištrinti įsipareigojimą Git
  3. Vykdykite git cherry-pick [specific commit hash] pirmame įsipareigojime, kurį norite išsaugoti.
    Kaip ištrinti įsipareigojimą Git
  4. Pakartokite su kitais įsipareigojimais, kuriuos norite išsaugoti.
  5. Paleiskite „git Checkout Master“ į „Checkout Master“.
    Kaip ištrinti įsipareigojimą Git
  6. Iš naujo nustatykite pagrindinį valdiklį į paskutinį naudotiną įvykdymą naudodami git reset –hard [last commit hash] .
    Kaip ištrinti įsipareigojimą Git
  7. Sujunkite naują šaką į pagrindinį su git merge remontu .
    Kaip ištrinti įsipareigojimą Git
  8. Tada paleiskite git push -f origin master, kad nustumtumėte į nuotolinio valdymo pultą.
    Kaip ištrinti įsipareigojimą Git

Kada turėtumėte ištrinti įsipareigojimus

Yra keletas situacijų, kai geriausia yra panaikinti įsipareigojimą. Štai keletas iš jų.

Blogas kodas

Viena iš dažniausiai pasitaikančių priežasčių, kodėl norėtumėte atsikratyti įsipareigojimo, yra ta, kad jame esantis kodas jo tiesiog nepertraukia. Galbūt padarėte klaidą ir norite pradėti iš naujo, o gal supratote, kad rezultatas neatitinka to, ko siekiate. Pavyzdžiui, galbūt pridėjote funkciją, kuri prieštarauja kitai kodo daliai. Ištrynus šį įsipareigojimą, galėsite grįžti atgal, išspręsti problemą ir iš naujo patvirtinti pataisytą versiją.

Jei ką tik įtraukėte kodo gabalą ir pastebėjote akivaizdžią klaidą, pvz., klaidą arba kodo dalį, kurios neturėjo būti, bet neturite laiko tai ištaisyti – tai gera priežastis. įsipareigojimui panaikinti. Užuot leidę šiai nereikalingai ar ydingai kodo daliai patekti į jūsų projekto istoriją (ir tai gali sukelti painiavą ar net katastrofiškas klaidas taisant klaidas), galite ištrinti šį įsipareigojimą. Taip jūsų projektas bus švarus.

Jautrūs duomenys

Atsitiktinai neskelbtini duomenys pateikiami dažniau, nei jūs manote. Nenuostabu, kad tai gali sukelti didelę asmeninę ar įmonės saugumo riziką. Viskas, pradedant slaptažodžiais ir API raktais, baigiant asmenine informacija, gali atsitiktinai patekti į jūsų įsipareigojimą. Ir kai jis yra projekto erdvėje, bet kas gali prieiti prie jo ir pažeisti jūsų ar jūsų komandos saugumą.

Šie nelaimingi atsitikimai yra galbūt net geresnė priežastis ištrinti įsipareigojimą nei paprastas blogas kodas. Galite redaguoti sugedusį kodą ir nesijaudinti, kad jis liks projekto istorijoje, tačiau tai nėra rizika, kurią norėtumėte prisiimti su neskelbtinais duomenimis. Pavyzdžiui, jei netyčia įtraukėte failą, kuriame yra API raktai, pašalinus šį įpareigojimą šis raktas nepateks į netinkamas rankas.

Istorijos švara

Kita rimta priežastis ištrinti „Git“ įsipareigojimą yra išlaikyti savo projekto istoriją švarią ir paprastą. Kai dirbate su projektu, jūsų įsipareigojimų istorija tampa vis labiau griozdiška dėl nedidelių atnaujinimų, eksperimentų ar pakeitimų, kurie nebėra aktualūs. Kai dėl kokios nors priežasties norite peržiūrėti istoriją, pavyzdžiui, išsiaiškinti, kodėl atlikote tam tikrą pakeitimą arba po eksperimento grįžti į stabilią būseną, netvarkinga istorija gali tapti problema.

Ištrindami nereikalingus įsipareigojimus išlaikysite tvarkingą projekto istoriją, kurią galėsite lengvai sekti jums ir kitiems jūsų komandos nariams. Tai dar naudingiau prieš sujungiant filialą, kad galėtumėte pateikti aiškią, glaustą ir atitinkamą istoriją tiems, kurie peržiūri jūsų kodą. Pavyzdžiui, jei turite kelis įsipareigojimus, kurie buvo tik nedideli funkcijos patobulinimai, galbūt norėsite juos sujungti į vieną, kad istorija būtų tvarkinga.

Geriausia praktika ir patarimai

Prieš panaikindami įsipareigojimą, vadovaukitės kai kuriais geriausios praktikos pavyzdžiais, kad projektas veiktų ir išvengtų nenumatytų pasekmių.

Atsarginė savo darbo kopija

Prieš ištrinant bet kokį įsipareigojimą iš Git, verta pasidaryti atsarginę savo darbo kopiją, net jei manote, kad jį laikyti neverta. Tai gali atrodyti kaip papildomas darbas, tačiau atsarginė kopija yra apsaugos tinklas, jei viskas vyks ne taip, kaip planuota.

Galite sukurti atsarginę kopiją sukurdami naują šaką, kuri atspindi dabartinę jūsų saugyklos būseną. Pavyzdžiui, prieš ištrindami įsipareigojimą, kuriame įdiegta nauja funkcija, sukurkite atsarginės kopijos šaką „feature-backup“. Tai suteiks jums laisvę eksperimentuoti ir ištrinti įsipareigojimus, nebijant prarasti svarbaus darbo. Taigi, jei vėliau suprasite, kad jums kažko reikia iš ištrinto įsipareigojimo, nepraradote to visam laikui. Jei nuspręsite, kad jums nebereikia šios atsarginės kopijos, galite ištrinti „Git“ šaką .

Neištrinkite viešų įsipareigojimų

Dirbdami su viešosiomis saugyklomis, ypač atvirojo kodo projektuose ar komandinėje aplinkoje, turėtumėte būti ypač atsargūs trindami įsipareigojimus. Kai įsipareigojimas perkeliamas į viešą saugyklą, o kiti jį ištraukia, šio įsipareigojimo ištrynimas gali supainioti arba atitraukti visus dalyvaujančius ir sutrikdyti darbą. Tai tam tikras kilimėlio ištraukimas iš po kažkieno – ne maloni patirtis, o veikiau neapgalvota. Jei turite ištrinti jau viešą įsipareigojimą, iš anksto pasakykite savo komandai ar projekto bendradarbiams, kad jie žinotų, kas vyksta. Taip kiekvienas yra sąmoningas ir gali atitinkamai koreguoti savo darbą.

Naudokite Revert viešiesiems atpirkimams

Jei vis tiek norite anuliuoti pakeitimus viešoje saugykloje, užuot visam laikui ištrynę įsipareigojimą, galite atšaukti sujungimą naudojant Git . Skirtingai nuo git reset, kuris efektyviai perrašo istoriją, „git revert“ sukuria naują įsipareigojimą, kuris anuliuoja ankstesnio įsipareigojimo pakeitimus.

Todėl šios komandos naudojimas yra daug saugesnis ir skaidresnis, ypač dirbant su kitais. Jūs atvirai pranešate savo komandos nariams, kad galbūt padarėte klaidą ir grąžinate įsipareigojimą, kuris ją ištaiso. Jei pastūmėjote įsipareigojimą su reikšminga klaida, „git Revert“ leidžia greitai paneigti tos klaidos padarinius ir nepažeisti projekto istorijos. Taip išlaikomas projekto istorijos vientisumas ir visų vietinė saugykla suderinama su nuotolinio valdymo pultu.

Prieš ištrindami dar kartą patikrinkite

Viena didžiausių pavojų ištrinant įsipareigojimus „Git“ yra prarasti laiką ir pastangas, kurias įdėjote šiam įsipareigojimui. Norėdami to išvengti, peržiūrėkite visus pakeitimus kiekviename įsipareigojime, kurį norite pašalinti. Norėdami patikrinti įsipareigojimus, naudokite „git log arba git show [commit hash]“. Jei pašalinate įsipareigojimą, dėl kurio prie jūsų kodo buvo pridėtos kelios funkcijos, įsitikinkite, kad jūsų projektui nereikia šių funkcijų, kad jos veiktų arba kad jos atkartotos kitur.

Įsipareigojimas Jai

Yra daug priežasčių panaikinti įsipareigojimą „Git“, pvz., išlaikyti tvarkingą istoriją, panaikinti painias klaidas arba apsaugoti neskelbtiną informaciją nuo smalsių akių. Kad ir kokia būtų priežastis, atminkite, kad tai galima padaryti dviem būdais – „git reset“ ir „git revert“, kurių kiekvienas turi skirtingą paskirtį, todėl pasirinkite tą, kuris tinka jūsų projektui. Taip pat galite pervardyti „Git“ filialą, kad būtų daugiau aiškumo.

Ar kada nors teko ištrinti įsipareigojimą „Git“? Kokia buvo jūsų patirtis ir ar turite patarimų, kuriais galėtumėte pasidalinti? Palikite komentarą žemiau ir tęskite pokalbį.

Palikti komentarą

Skalbimo mašinos valymas actu? Kaip tai daryti saugiai – ir kada to nedaryti

Skalbimo mašinos valymas actu? Kaip tai daryti saugiai – ir kada to nedaryti

Nemalonus kvapas ar apnašos skalbimo mašinoje? Sužinokite, kada galima naudoti actą, kada gamintojai to nerekomenduoja, ir saugų valymo eiliškumą nuo dozatoriaus iki būgno.

Kaip saugiai pašalinti kalkes nuo elektrinio virdulio – žingsnis po žingsnio

Kaip saugiai pašalinti kalkes nuo elektrinio virdulio – žingsnis po žingsnio

Kaip saugiai pašalinti kalkes nuo elektrinio virdulio naudojant gamintojo metodą, tinkamai nuskalaujant, bei patarimai dėl acto, kalkių filtro ir valymo dažnumo pagal vandens kietumą.

Kaip saugiai ir kruopščiai išvalyti ledo gaminimo aparatą šaldiklyje

Kaip saugiai ir kruopščiai išvalyti ledo gaminimo aparatą šaldiklyje

Sužinokite, kaip išvalyti šaldiklio ledo gaminimo aparatą, išplauti ledo dėžę, pašalinti susikaupusius ledo gabalėlius, nuvalyti skyrių, viską išdžiovinti ir pašalinti nemalonaus skonio ar pasenusio ledo problemas.

Kaip saugiai išvalyti kapos dėklą: paprastas rankų plovimo metodas

Kaip saugiai išvalyti kapos dėklą: paprastas rankų plovimo metodas

Sužinokite, kaip saugiai rankomis išvalyti kapos dėklą, tinkamai jį išdžiovinti, išvengti indaplovės žalos ir atpažinti, kada dėl kvapo, įtrūkimų ar susidėvėjimo jį jau reikia pakeisti.

Kaip iš penalo išimti rašalus nepažeidžiant jo

Kaip iš penalo išimti rašalus nepažeidžiant jo

Sužinokite, kaip saugiai ištuštinti ir išvalyti plunksninius, rutulinius, gelinius ir veleninius penalus, laikydamiesi gamintojo rekomenduotų žingsnių ir aiškių apribojimų.

Kaip saugiai išvalyti HP spausdintuvo galvutę: pradėkite nuo integruoto valymo įrankio

Kaip saugiai išvalyti HP spausdintuvo galvutę: pradėkite nuo integruoto valymo įrankio

Sužinokite saugiausią būdą išvalyti HP spausdintuvo galvutę, kada kartoti valymą, kada taikyti rankinį kontaktų valymą ir kada sustoti.

Kaip išplauti pūkinę striukę nesugriaunant izoliacijos

Kaip išplauti pūkinę striukę nesugriaunant izoliacijos

Sužinokite, kaip išplauti pūkinę arba sintetinę pūkinę striukę, išvengti kamštų susidarymo, saugiai ją išdžiovinti, išspręsti dažnas problemas ir įsitikinti, kad tūris visiškai atstatytas.

Kaip išimti virtuvės kriauklės nutekėjimą nepažeidžiant kriauklės

Kaip išimti virtuvės kriauklės nutekėjimą nepažeidžiant kriauklės

Sužinokite, kaip saugiai išimti virtuvės kriauklės nutekėjimą, atjungti P-sifoną, atlaisvinti krepšelio-filtro užveržimo veržlę, pakelti flanšą, apdoroti šiukšlių malūnėlio nutekėjimus ir nuvalyti angą.

Kaip pašalinti sukietėjusį vašką iš drabužių nepalikant dėmės

Kaip pašalinti sukietėjusį vašką iš drabužių nepalikant dėmės

Sužinokite, kaip saugiai pašalinti sukietėjusį vašką iš drabužių: sukietinkite ir nuskuskite, perkelskite likučius žema temperatūra, jei tai leidžiama, iš anksto apdorokite riebalines dėmes, nuplaukite ir patikrinkite prieš džiovindami.

Kaip paruošti ketaus grotas kepimui, kad jos neliptų

Kaip paruošti ketaus grotas kepimui, kad jos neliptų

Sužinokite, kaip paruošti neapdorotas ketaus grotas plonu aliejaus sluoksniu ir kontroliuojama šiluma, taip pat kada emalio dengtos grotos neturėtų būti ruošiamos.