Strategia scalania Git w celu ignorowania usuniętych plików
Mam specjalną gałąź (gałąź wydania), która jest dokładną kopią gałęzi głównej z usuniętymi niektórymi plikami i katalogami. W tej gałęzi nie ma żadnego rozwoju, jednak musi być zsynchronizowany z masterem, więc aktualizacje w systemie master muszą być stale przesyłane do tej gałęzi.
Wykonując normalne scalanie (git merge master
) Ciągle pojawiają się konflikty (na przykład przykładowy plik README):
CONFLICT (delete/modify): README deleted in HEAD and modified in master
co jest oczekiwane: próbuję połączyć zmiany w plikach, które usunąłem. Więc, aby je rozwiązać, używamgit rm README
.
Aby to zautomatyzować, mogłem użyć automatycznego rozwiązywania konfliktów, określając -X nasz. Strony męskie sugerują, że to dla mnie słuszne:
This option forces conflicting hunks to be auto-resolved cleanly by favoring our version. Changes from the other tree that do not conflict with our side are reflected to the merge result.
Jednak kiedy to robięgit merge -s recursive -X ours master
Nadal mam te same nierozwiązane konflikty usuwania / modyfikacji. Co ja robię źle? Czy istnieje inny sposób automatyzacji rozwiązywania konfliktów?