U mojego obecnego pracodawcy korzystamy z projektu open source hostowanego na Github jako komponentu naszej aplikacji. Pracowałem nad tym projektem, aby zarówno dodać kilka potrzebnych funkcji, jak i zintegrować go z naszymi systemami kompilacji. Mój menadżer i ja zgadzamy się, że chcielibyśmy przekazać tyle pracy nad tym komponentem, ile jest uzasadnione, z powrotem do projektu open source. Moje pytanie dotyczy tego, jaki jest najlepszy przepływ pracy / technika, aby utrzymać moje zatwierdzenia Git w taki sposób, że mogę łatwo oddzielić rzeczy, które mają sens, aby dodać je z powrotem do projektu open source - poprawki błędów i nowe funkcje, które są wystarczająco ogólne - z elementów specyficznych dla naszego projektu, takich jak lokalizacje kompilacji i stałe aplikacji.
Do tej pory zajmowałem się utrzymywaniem prywatnego oddziału Git, w którym zatwierdzam wszystkie moje zmiany, z odpowiednią szczegółowością. Następnie używam cherry-pickdo dodawania zatwierdzeń typu open source do gałęzi master i przesyłam je z powrotem do Github.
Wygląda na to, że powinienem używać do tego scalania, aby nie tworzyć oddzielnych zatwierdzeń o identycznej treści, ale nie jestem pewien, jak to zrobić, wyłączając zatwierdzenia specyficzne dla firmy i zachowując rozsądny przepływ pracy.
Na przykład, przypuszczam, że mógłbym zatwierdzić rzeczy z otwartym kodem źródłowym i elementy specyficzne dla firmy w oddziale prywatnym, a następnie scalić wzorzec do tej gałęzi w razie potrzeby, pozostawiając gałąź nadrzędną wskazującą na zatwierdzenie przed scaleniem, tak że mógłbym powierz mu to ponownie, a następnie ponownie scal. To, co wydaje się niezręczne w tym przepływie pracy, polega na tym, że musiałbym z góry zdecydować o wszystkim, co robię, do której gałęzi należał, pracować nad tym, co wydawało się zakończeniem, a następnie zatwierdzić i scalić przed testowaniem. Jedną z rzeczy, które naprawdę lubię w Git, jest to, jak łatwo jest zrobić wszystko, czego potrzebujesz, aby aplikacja działała, a następnie zdecydować później, jak i gdzie zatwierdzić zmiany. O ile mi wiadomo, jeśli jesteś obecnie w oddziale i masz trochę pracy, tam jest ”
Czy to, co robię, jest rozsądnym procesem dla długoterminowych składek? Czy ktoś może polecić inny przepływ pracy, który może być lepszy i dlaczego jest lepszy?