Opieram moje repozytorium Git na udanym modelu rozgałęziania Git i zastanawiałem się, co się stanie, jeśli masz taką sytuację:
Powiedzmy, że rozwijam dwie gałęzie funkcji A i B, a B wymaga kodu z A. Węzeł X wprowadza błąd w funkcji A, który wpływa na gałąź B, ale nie jest to wykrywane w węźle Y, gdzie funkcje A i B zostały połączone i testy przeprowadzono przed ponownym rozgałęzieniem i pracą nad następną iteracją.
W rezultacie błąd znajduje się w węźle Z przez osoby pracujące nad funkcją B. Na tym etapie zdecydowano, że potrzebna jest poprawka. Ta poprawka powinna być zastosowana do obu funkcji, ponieważ osoby pracujące nad funkcją A również potrzebują naprawy błędu, ponieważ jest to część ich funkcji.
Czy gałąź błędu powinna zostać utworzona z najnowszego węzła funkcji A (tej rozgałęzionej z węzła Y), a następnie połączona z funkcją A? Po czym obie funkcje zostaną ponownie opracowane i przetestowane przed rozgałęzieniem?
Problem polega na tym, że wymaga to połączenia obu gałęzi w celu rozwiązania problemu. Ponieważ funkcja B nie dotyka kodu w funkcji A, czy istnieje sposób na zmianę historii w węźle Y poprzez wdrożenie poprawki i nadal pozwalanie, aby gałąź funkcji B pozostała nie połączona, a mimo to ma stały kod z funkcji A?
Łagodnie powiązane: Konwencja rozgałęziania błędów Git