Planuję całkowite przepisanie mojego projektu, używając innego frameworka itp. Byłoby miło zachować stary kod wraz z historią w celach informacyjnych. Jak najlepiej to zrobić, aby uniknąć ryzyka, zamieszania i niespodzianek?
Moim pomysłem jest utworzenie nowej gałęzi, zastąpienie tam wszystkiego i uzyskanie uruchomionej tam podstawowej „nowej” wersji, oznaczenie ostatniego „starego” wzorca, a następnie połączenie gałęzi z wzorcem. Czy to brzmi rozsądnie?
Odpowiedzi:
Głosuję za utrzymaniem wszystkiego w jednym repozytorium.
Ja bym:
Oto jak:
Poza tym: Możesz również utworzyć tag starego, starszego kodu, jeśli wiesz, że nigdy nie będziesz chciał dodawać do niego żadnych zatwierdzeń.
Kiedy zamiast tego zrobić nowe repozytorium:
źródło
O ile nie ma pilnego powodu, aby połączyć przepisane i historyczne gałęzie, trzymałbym je osobno. Utwórz nową gałąź, aby zachować stary kod, przepisz w master i zachowaj je w ten sposób oddzielone. W ten sposób zawsze możesz pracować ze starym frameworkiem / implementacją, jeśli sytuacja się zmieni.
źródło
Po to są osierocone gałęzie.
Może być konieczne tymczasowe ustawienie domyślnej gałęzi na
new_branch
Github, ponieważ domyślnie wyświetla master.źródło
Możesz utworzyć nową gałąź w bieżącym projekcie, ale może być lepsze oznaczenie repozytorium jako prywatne, a następnie utworzenie nowego dla nowego kodu, w ten sposób nadal będziesz mieć stare repozytorium, ale przestanie być przestarzałe.
Sugeruję, abyś zastosował to podejście zamiast próbować później połączyć gałąź z powrotem w celu opanowania nie tylko dlatego, że nadal będziesz mieć rozdęcie z przestarzałego kodu, ale także dlatego, że do czasu, gdy będziesz gotowy, może wystąpić kilka frustrujących konfliktów scalania zrób to. Aby tego uniknąć, najlepiej byłoby zacząć od wyraźnej gałęzi, niż scalać dwie zupełnie różne gałęzie.
źródło