Niestety, przypadkowo sprawdziliśmy duży plik binarny jakiś czas temu i do dzisiaj nikt tego nie zauważył. Teraz chcę zrezygnować z tego zatwierdzenia i mieć pozostałą historię taką, jaka jest. Wiem o zastrzeżeniach zmieniających się historii, ale w tym przypadku nie mogę tego uniknąć.Upuść stare zatwierdzenie: `git rebase` powoduje konflikty scalania
Próbowałem osiągnąć to przez ~ 1 h, ale nie udało mi się go uzyskać. Najlepszą komendą, jaką znalazłem, jest
git rebase --interactive --preserve-merges $(EVIL_COMMIT)^
oraz w edytorze skomentowanie pierwszego zatwierdzenia, które jest złe.
Niestety git rebase
zatrzymuje się przy scalaniu i monituje o ręczne rozwiązywanie konfliktów scalania. The evil commit dodaje tylko przykładowe pliki, które nasze oprogramowanie będzie obliczać do celów testowych. Zatem ich nie powinno być żadnego konfliktu z przykładowymi plikami, których właśnie brakuje.
- Nie rozumiem, skąd pochodzą konflikty seryjne. Ktoś może wyjaśnić?
- Jak rozwiązać ten problem?
Spędziłem dużo czasu w wyszukiwarce Google i SO. Niektóre wątki dotyczą podobnego tematu, ale albo syntax used is not available w dzisiejszej wersji Git już nie działa, albo nie działa dla mnie (opisałem tylko jedną metodę powyżej, ponieważ jest to najłatwiejsze podejście).
możliwe duplikat [Jak usunąć/usunąć plik z dużą popełnić historia w repozytorium Git?] (http://stackoverflow.com/questions/2100907/how-to-remove-delete-a-large-file-from-commit-history-in-git-repository) –