Pereiti prie turinio

Rekomenduojami pranešimai

Sveiki,

 

Taigi niekaip neišeina padaryti git revert. Taigi, sakykim, kad turiu readme.txt failą:

#1
#2
#3

 

Kiekviena jo eilutė - tai naujas commit'as. Taigi šiuo atveju turiu failą su 3 commitais. Kaip man pašalinti "#2" commit'ą?

 

 

Rašau: git revert "#2 commit id" ir gaunu tokią klaidą:

 

error: could not revert 07755d0... 2

hint: after resolving the conflicts, mark the corrected paths

hint: with 'git add <paths>' or 'git rm <paths>'

hint: and commit the result with 'git commit'

 

Iš kur čia tie konfliktai? Kiekvienam commitui koda rašiau iš naujos eilutės. Taigi jis turėtų pašalinti #2 įrašą ir viskas.

 

Ar aš kažką netaip darau?

 

Failas pasikeičia į tokį:

 

<<<<<<< HEAD
1
2
3
=======
1
>>>>>>> parent of 07755d0... 2

Redagavo BigBug
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Įdomu klausimas, tai pažaidžiau truputį ir, rodos, radau sprendima. Bet tik tuo atveju, jei commitai ant local (nestūmei dar į jokį repo). Jei stūmei, tai nžn, sprendimas būtų, matyt, komplikuotas ir ne mano nosiai, kol kas :)

 

$ git rebase -i HEAD~2

 

gausi listą paskutinių dviejų commitų. Pamatysi, ten rašo ką gali su jais daryt, tai tavo atveju prie nenorimo commito paspaudi d ir jį ištrina.

 

Teko pavargt, kaip išeit iš Vim editoriaus :)) Tai, tiesiog :wq (reiskia write quit).

 

Jei kazkas ten uzstrings ir išeisi iš Vim'o ne taip, kaip reikia, galėsi suvest git rebase --abort (bet čia atsargiai, jei rebase naudoji vietoj merge - gali prarast ką padarei)

 

Apie rebase neblogi šaltiniai:

https://git-scm.com/book/en/v2/Git-Branching-Rebasing

https://robots.thoughtbot.com/git-interactive-rebase-squash-amend-rewriting-history

Redagavo Interesantas02
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Įdomu klausimas, tai pažaidžiau truputį ir, rodos, radau sprendima. Bet tik tuo atveju, jei commitai ant local (nestūmei dar į jokį repo). Jei stūmei, tai nžn, sprendimas būtų, matyt, komplikuotas ir ne mano nosiai, kol kas :)

 

$ git rebase -i HEAD~2

 

gausi listą paskutinių dviejų commitų. Pamatysi, ten rašo ką gali su jais daryt, tai tavo atveju prie nenorimo commito paspaudi d ir jį ištrina.

 

Teko pavargt, kaip išeit iš Vim editoriaus :)) Tai, tiesiog :wq (reiskia write quit).

 

Jei kazkas ten uzstrings ir išeisi iš Vim'o ne taip, kaip reikia, galėsi suvest git rebase --abort (bet čia atsargiai, jei rebase naudoji vietoj merge - gali prarast ką padarei)

 

Apie rebase neblogi šaltiniai:

https://git-scm.com/book/en/v2/Git-Branching-Rebasing

https://robots.thoughtbot.com/git-interactive-rebase-squash-amend-rewriting-history

 

Tiesiog kai lokaliai susitvarkai viską, supushink viską į norimą branchą su forcu, pvz git push -f origin branch-name

Daugiau: https://git-scm.com/docs/git-push#git-push---force

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...