"Git" atsisako sujungti nesusijusias istorijas pakartotinio atkūrimo metu

Per git rebase origin/development iš "Git" rodomas toks klaidos pranešimas:

fatal: refusing to merge unrelated histories
Error redoing merge 1234deadbeef1234deadbeef

Mano Git versija yra 2.9.0. Ankstesnėje versijoje viskas veikė gerai.

Kaip galiu tęsti šį atkūrimą, leidžiantį nesusijusias istorijas su naujoje versijoje įvesta priverstine vėliava?

Numatytoji elgsena pasikeitė nuo "Git 2.9" versijos:

"git merge" leisdavo sujungti dvi šakas, neturinčias bendrų šakų. bazės pagal numatytuosius nustatymus, dėl to atsirasdavo visiškai nauja esamos sukurtą projekto istoriją, kurią vėliau ištraukdavo nieko neįtariantis prižiūrėtojas, o tai leido nereikalingą lygiagrečią istoriją sujungti į projektą. Komanda buvo išmokyta neleisti to daryti pagal numatytuosius nustatymus, su "evakuaciniu liuku" --leisti-nesusijusias-istorijas parinktimi kurią galima naudoti retais atvejais, kai sujungiamos dviejų projektų istorijos kurie savo gyvenimą pradėjo nepriklausomai vienas nuo kito.

Daugiau informacijos rasite Git leidinio pakeitimų sąraše.

Galite naudoti --allow-unrelated-histories (leisti nesusijusias istorijas), kad priverstumėte atlikti sujungimą.

Komentarai (6)

Mano atveju klaida buvo tiesiog fatalinė: atsisakymas sujungti nesusijusias istorijas kiekvieną kartą, ypač pirmąją pull užklausą po to, kai nuotoliniu būdu pridėjote "Git" saugyklą.

Naudojant vėliavėlę --allow-unrelated-histories su tokiu traukimo užklausos būdu pavyko:

git pull origin branchname --allow-unrelated-histories
Komentarai (10)

Aš taip pat su tuo susidūriau, bet man pavyko rasti apeinamą variantą.

Kai susiduriate su pirmiau nurodyta klaida, tiesiog pasirinkite sujungimo pakeitimą ir tęskite atkūrimą:

git cherry-pick -m 1 1234deadbeef1234deadbeef
git rebase --continue
Komentarai (1)