Git

Kā atsaukt pēdējo saistību Git

Kā atsaukt pēdējo saistību Git
Parasti Git darbplūsma ir tāda, ka jūs veicat izmaiņas projektā, pievienojat izmaiņas iestudēšanas zonai, veicat izmaiņas, veicat jaunas izmaiņas, posma izmaiņas, veicat izmaiņas, un tas turpinās un turpinās. Bet ko tad, ja kļūdaini izdarījāt savas izmaiņas? Nu, nebaidieties. Jūs vienmēr varat atsaukt savu pēdējo saistību Git. Šajā rakstā es jums parādīšu, kā atsaukt pēdējo saistību Git. Tātad, sāksim darbu.

Test Git krātuves iestatīšana:

Šajā sadaļā es savā datorā klonēšu vienu no saviem GitHub krātuvēm, lai izveidotu šī raksta testa krātuvi. Ja vēlaties sekot līdzi, varat to darīt arī labi. Ja jums ir sava Git krātuve, ar kuru strādāt, tad lieliski! Jūs to varat arī izmantot.

Klonēt vienu no manām GitHub krātuvēm (https: // github.com / dev-shovon / my-project), palaidiet šādu komandu:

$ git klons https: // github.com / dev-shovon / my-project undo_commit_demo

GitHub krātuve ir jāklonē undo_commit_demo / direktorijā.

Tagad dodieties uz undo_commit_demo / direktoriju šādi:

Apņemšanās, kuru vēlaties atsaukt, var būt citā nozarē kā mana. Es gribu atsaukt pēdējo ie-labot zars. Tātad, man jāvelk zars ie-labot no manas GitHub repozitorija.

Jūs varat vilkt ie-labot atzars no GitHub šādi:

$ git pull origin ie-fix

PIEZĪME: Šeit, ie-labot ir filiāles nosaukums.

The ie-labot filiāle jāvelk.

Tagad izrakstieties filiālē (manā gadījumā, ie-labot), no kuras vēlaties atsaukt pēdējo saistību izpildi, rīkojieties šādi:

$ git izrakstīšanās ie-fix

Kā redzat, pēdējā ie-labot filiāle ir aec00f3. Nākamajās sadaļās es jums parādīšu veidus, kā atsaukt pēdējo Git repozitorijā esošo saistību izpildi.

Atsaukt pēdējo apņemšanos un saglabāt izmaiņas:

Viens no veidiem, kā atsaukt pēdējo saistību izpildi, ir Git repozitorija izmantošanas atiestatīšana. Tas tiek darīts, pēdējā saistība tiek noņemta un tajā veiktās izmaiņas tiek pievienotas jūsu Git repozitorija pakāpeniskajam apgabalam. Tādā veidā, ja vēlaties kaut ko labot, varat modificēt failus un pievienot jaunu saistību.

Kā redzat, pēdējā apņemšanās manā ie-labot filiāle ir aec00f3.

$ git log - tiešsaistē

Arī mana pieturvieta ir tīra.

$ git statuss

Tagad, lai noņemtu vai atsauktu pēdējo saistību, izpildiet šādu komandu:

$ git reset - soft HEAD ~ 1

Kā redzat, apņemieties aec00f3 ir pagājis.

$ git log - tiešsaistē

Arī fails, kuru modificēju pēdējā saistībā, atrodas manā pieturvietā.

$ git statuss

Tagad jūs varat vēl vairāk modificēt failus, labot pieļautās kļūdas un vēlreiz veikt izmaiņas.

Atsaukt pēdējo apņemšanos un noņemt izmaiņas:

Ja pēdējā saistība, kuru vēlaties noņemt, jums ir bezjēdzīga, varat apsvērt iespēju atiestatīt Git repozitorijā. Cietā atiestatīšana ir tā, ka tā noņem pēdējo saistību tāpat kā iepriekš. Bet tas arī noņem visas izmaiņas, kuras esat veicis pēdējā apņemšanās laikā. Veiciet rūpīgu atiestatīšanu tikai tad, kad esat pārliecināts, ka jums vairs nav nepieciešams nekas no pēdējās saistības.

Es gatavojas vilkt ie-labot filiāle no manas GitHub krātuves vēlreiz, lai atgūtu pēdējo saistību aec00f3 un atkal noņemiet to šajā sadaļā.

$ git pull origin ie-fix

Kā redzat, pēdējā saistība ir atgriezusies. Ja jūsu Git krātuve ir augšupielādēta Git mākoņa pakalpojumā, piemēram, GitHub, varat atjaunot arī kļūdaini noņemto saistību.

Kā redzat, mana pieturvieta ir tīra.

$ git statuss

Tagad, lai noņemtu pēdējo saistību un noņemtu izmaiņas, izpildiet šo komandu:

$ git reset - grūti HEAD ~ 1

Jāizņem pēdējā saistība un GALVA rādītājs ir jāatjaunina.

Kā redzat, apņemieties aec00f3 tiek izņemta un apņemas veikt tieši pirms tam (3fffdee) ir pašreizējā pēdējā saistība.

$ git log - tiešsaistē

Arī pieturvieta ir tīra. Tātad, izmaiņas failos no noņemtā apņemšanās pastāv.

$ git statuss

Atjaunina attālā Git krātuvi:

Tagad, kad esat veiksmīgi noņēmis kļūdaino saistību no sava Git repozitorija, iespējams, vēlēsities atjaunināt arī savu GitHub repozitoriju. Šī ir šīs sadaļas tēma.

Kā jūs redzat, git statuss arī parāda, ka esmu 1 apņēmies no attālās repozitorija.

Pirms es atjaunināju savu GitHub krātuvi, apņemieties aec00f3 pastāv, kaut arī es to noņemu no vietējā Git repozitorija, kā redzat.

Lai sinhronizētu vietējo Git repozitoriju ar GitHub krātuvi, palaidiet šādu komandu:

$ git push - spēka izcelsme ie-fix

Vietējā Git repozitorija izmaiņām jābūt sinhronizētām ar GitHub repozitoriju.

GitHub krātuve ir jāatjaunina. Kā redzat, apņemieties aec00f3 vairs nav sarakstā. Apņemties tieši pirms tam aec00f3, kurš ir 3fffdee tagad ir pēdējā apņemšanās.

Tātad, šādi jūs atsaucat pēdējās saistības Git. Paldies, ka izlasījāt šo rakstu.

OpenTTD vs Simutrans
Transporta simulācijas izveide var būt jautra, relaksējoša un ārkārtīgi vilinoša. Tāpēc jums jāpārliecinās, ka izmēģināt pēc iespējas vairāk spēļu, la...
OpenTTD apmācība
OpenTTD ir viena no populārākajām biznesa simulācijas spēlēm. Šajā spēlē jums ir jāizveido brīnišķīgs transporta bizness. Tomēr jūs sāksit sākumā apmē...
SuperTuxKart operētājsistēmai Linux
SuperTuxKart ir lielisks nosaukums, kas paredzēts, lai sniegtu jums Mario Kart pieredzi bez maksas jūsu Linux sistēmā. Tas ir diezgan izaicinoši un ja...