Git: muutke olemasolevat kinnitusteadet

Vead on tavalised, me kõik teeme neid. Sellepärast panevad nad pliiatsitele kustutuskummid. Ja see ei erine selliste tööriistadega nagu Git. Kuigi mõnda muudatust võib olla raske tagasi võtta, on tavaliselt viis.

Mis siis, kui soovite muuta olemasolevat kinnitusteadet? Õnneks on seda Gitis lihtne teha, kuid meetod võib mõnest tegurist olenevalt veidi muutuda.

Parandage viimane kinnitus, mida pole veel kaugjuhtimispuldile lükatud

See on kõige lihtsam juhtum, kuna kaughoidlat pole vaja muuta, peate lihtsalt muutma oma. Sel juhul saate kasutada järgmist käsku:

$ git commit --amend

Selle käsu käivitamine avab redaktori, kus saate seda muuta viimane sõnum vastu võtma. Kui olete lõpetanud ja redigeerija salvestanud/sulgenud, muudetakse kinnitusteadet.

Isiklikult eelistan teha enamikke asju käsureal, mida saate teha, lisades ülalolevale käsule argumendi ja sõnumi:

$ git commit --amend -m "Added a new file"

Seda tehes ei avata redaktorit, vaid see muudab kohe sissekandesõnumit.

Parandage viimane kinnistamine, lükatud kaugjuhtimisele

See on veel üks levinud juhtum ja seda on pisut keerulisem parandada, mitte ainult seetõttu, et peame muutma oma hoidlat, vaid peame muutma ka kaughoidlat, mis võib olla teie kohalikust harust ees.

Esimene samm on muuta viimast kohustust, nagu tegime eelmises jaotises:

$ git commit --amend -m "Added a new file"

Seejärel peate need muudatused kaughoidlasse lükkama. Seda tuleb aga teha kasutades --force lipp

$ git push <remote> <branch> --force

Peame seda tegema nii, et kaughoidla meie enda kohaliku olekuga üle kirjutada.

Pidage meeles, et tõuke sundimisega teete seda ka kaotama kõik kohustused kohalikus filiaalis, mida teil kohalikus filiaalis veel ei ole. Jätka ettevaatlikult!

Tutvuge meie praktilise ja praktilise Giti õppimise juhendiga, mis sisaldab parimaid tavasid, tööstusharus aktsepteeritud standardeid ja kaasas olevat petulehte. Lõpetage Giti käskude guugeldamine ja tegelikult õppima seda!

Kui suudate vea piisavalt kiiresti tabada, pole muudatuse tegemine probleem. Vastasel juhul peate võib-olla leidma mõne muu lahenduse, et vältida pärast muudetavat kinnitusteadet tehtud muudatuste kadumist.

Kasutage Interactive Rebase'i

Teine võimalus, mis on varasematest kirjeldatud lahendustest paindlikum, on kasutada interaktiivset rebase. See võimaldab teil kontrollida viimast N toimingut ja teha neis muudatusi, sealhulgas korjamist, kokkutõmbamist jne.

Rebase käivitamiseks võite kasutada järgmist käsku:

$ git rebase -i HEAD~n

Siin n on sissekannete arv, mida soovite kontrollida ja redigeerida. Seejärel näete kohustuste loendit, mis on sarnane sellele:

$ $ git rebase -i HEAD~4
pick 788ebf0 Oops, I forgot to add a new file
pick ced1329 Fixed a super critical bug
pick 5e9cdc5 Added a new file



















Nagu näete, on loetletud kõik viimased N kohustust ja saate nende sõnumeid vastavalt vajadusele muuta.

Ajatempel:

Veel alates Stackabus