Przeszukałem dokumentację git merge i rebase, a coś nie zapada w pamięć. Aktywnie pracuję nad projektem w Git i muszę udostępniać określone kamienie milowe innym programistów. Chcę udostępnić kod dokładnie w takiej postaci, w jakiej znajduje się w każdym etapie/wydaniu, ale nie wszystkie moje małe zatwierdzenia poprzedzające każde wydanie.Git rebase/merge dla publicznych wydań
Jak utworzyć gałąź wydania odzwierciedlającą gałąź rozwojową, w której zatwierdzenia w gałęzi wydania zawierają po kilka zatwierdzeń z gałęzi rozwojowej? Innymi słowy, gałąź wydania powinna mieć skompresowaną historię, ale poza tym powinna pasować do gałęzi rozwojowej.
Początkowo myślałem, że używanie oddzielnej gałęzi i używanie git merge - squash będzie skuteczne, tworząc nowy oddział z serią zatwierdzeń, które odzwierciedlają pełen zestaw zmian między poszczególnymi wersjami. Rozumiem teraz, że git merge - squash nie działa w przypadku powtarzających się zastosowań.
Git rebase będzie działać, aby zwinąć kilka commitów w jedno duże zatwierdzenie, ale ponieważ zmienia historię commitowania, nie zmieniłaby mojej prywatnej historii ani publicznych wydań?
Nie chcę stracić historii małych zmian, ale chcę popchnąć połączone zatwierdzenia do wspólnego serwera.
To na pewno to robi. Pracował dla mnie :) –
Dzięki, Charles. To robi to, czego szukam. – Neil