Pašalinkite pradinę fiksaciją, tokiu būdu tapdami pradiniu fiksatoriumi

Pastaba Žinau, kad tai yra istorijos perrašymas, visų maišų keitimas ir visų kitų sunaikinimas.


Noriu imtis pataisos ir pašalinti jos tėvą. Konkrečiai, taisymas turėtų atrodyti kaip pradinis pataisymas. Tai reiškia, kad jos skirtumas pasikeis; jis atrodys taip, lyg visi failai būtų sukurti šio fiksatoriaus šiame istorijos taške.

Kaip tai padaryti? (Žinoma, galėčiau keisti įsipareigojimo objektą, bet tada įsipareigojau ne viena kitai.) Taip pat norėčiau tai padaryti naujame filiale (tai reiškia, kad šiuo metu yra dvi istorijos: originalas ir kitas kai nustatymas yra pirminis fiksavimas.)

2
28 янв. nustatė PyRulez 28 sausis 2016-01-28 06:08 '16 at 6:08 2016-01-28 06:08
@ 3 atsakymai
 git checkout -b newbranch git rev-parse @ >.git/info/grafts # any equivalent for @ will work eg HEAD or newbranch git filter-branch rm .git/info/grafts 

(pakeitimas: pridėtas rm . Be to, šis repo vis dar atspindės pradinį nustatymą, kuriame yra persodintas)

2
28 янв. atsakymas pateikiamas liepos 28 d 2016-01-28 07:20 '16 at 7:20 2016-01-28 07:20

git rebase -i HEAD ~

Tada redaktoriuje, kuris pasirodo po minėto terminalo. Cmd Pakeiskite vaiko užrakto eilutės pradžią nuo pasirinkimo iki skvošo. Arba atitinkamai „p“ ir „s“. Užsirašykite failą ir išeikite iš redaktoriaus, kuris pasirodė aukščiau esančioje komandoje.

Redaguoti: Tarkime, kad abu įsipareigojimai yra naujausi. Jei ne, galite patikrinti vaiko maišą ir vietoj to naudoti git rebase -i HEAD ~ 2

Edit2: arba galite tiesiog gituoti iš naujo -i tėvų komutą ir sąrašo viršuje turėtų būti pagrindinis

2
28 янв. atsakymą pateikė bgarcia apie sausio 28 d 2016-01-28 06:18 '16 at 6:18 2016-01-28 06:18

Tarkime, kad norite, kad naujasis pradinis nustatymas būtų 123456 .

 git checkout -b new_master git filter-branch --commit-filter ' if git merge-base --is-ancestor 123456 $GIT_COMMIT ; then git commit-tree "$@"; else skip_commit "$@"; fi' HEAD 

Todo (bet kuriam): redaguokite paaiškinimą

0
28 янв. atsakymas, kurį pateikė PyRulez 28 sausis 2016-01-28 07:07 '16 at 7:07 2016-01-28 07:07