Załóżmy, że mam zamówiony kod, ale zamówienie nie jest wymogiem technicznym.Scalenie rozdzielczości konfliktu za pomocą nowego kodu
apple
kiwi
strawberry
A potem mam dwa tematy, które chcę połączyć w, której diffs wyglądać następująco:
TOPIC BRANCH: orange
kiwi
+ orange
strawberry
a także
TOPIC BRANCH: pear
kiwi
+ pear
strawberry
Czy istnieje sposób dla tych dwóch poprawek do rozwiązać automatycznie? Wydaje mi się, że jest to konflikt seryjny, ponieważ konkurują o tę samą nową linię. Rozwiązaniem, które wymyśliłem, jest zmiana kolejności jednej ze zmian, ponieważ kolejność sortowania jest tylko miękkim wymogiem (gdzie owoce są w rzeczywistości definicjami funkcji).
TOPIC BRANCH: pear'
apple
+ pear
kiwi
Więc teraz możemy połączyć orange
i pear'
razem do postaci:
_ apple
p pear
_ kiwi
o orange
_ strawberry
Czy istnieją inne sposoby, aby rozwiązać ten problem tak, że zamawiający mogą być przechowywane? Pomyślałem także o pear
konieczności downstream od orange
tak, że orange
zawsze dostaje pierwszeństwo i nie będzie już konfliktu scalania. Ale jest to fałszywa zależność, ponieważ orange
i pear
to dwie oddzielne gałęzie obiektów.
Jeden może być umieszczony w bagażniku przed drugim, ale nie adresuje gałęzi integracji.
Edycja: Uświadomiłem sobie tylko dwie porcje, które można było przechowywać (chyba tylko dodatki?) Mogą istnieć dwie strategie scalania o nazwie "ja pierwszy" i "ty pierwszy", tak, że niejednoznaczne zamówienie można rozwiązać bez -interaktywnie między dwoma oddziałami.
Czy spojrzał na git scalić strategie? człowiek git-merge i poszukiwanie różnych strategii, w tym rekurencyjnej zwanej cierpliwością. – idlethread