Nel prendere una copia del codice e apportarvi modifiche locali, hai effettivamente ramificato it. Nel frattempo, sulla linea principale, sono avvenuti altri cambiamenti e una versione 2.0 è stata rilasciata.
Notachequesti#1,#2,#3nonhannobisognodicorrispondere,nésonolastessacaratteristica-solounarappresentazionedidiversemodifichechesonostateapportateaciascunalineadelcodice.
Questoèquellochesembraora,estaiprovandoarenderloquelmerged2.0
point.
BastafareundiffdelcodiceinYourchange#3
eversion2.0
timostreràcosaècambiatotraidue,manonmostracomesiadatta.Amenochetunonabbiasegnatoiltuocodiceinqualchemodo,avraidifficoltàadeterminareseladifferenzatrayourchange#3
eversion2.0
ècambiatarispettoallenuovefunzionalitànellalineaprincipaleoallemodificheapportatenelramo.
Perquesto,ènecessarioutilizzare diff3 che implementa un un modo unione tre del tuo codice, il codice più vecchio e il loro codice. Questo prende il version 1.0
come una modifica.
Le pagine man per diff3
su developer.apple .com e opendiff
su developer.apple.com (puoi anche usare FileMerge sul mac - ricorda di espandere la finestra per la diff 3 vie Vedi anche Come si fa un'unione a 3 vie in FileMerge? - si può anche trovare p4merge da perforce per essere di tuo gradimento).
L'unione di un intero aggiornamento importante potrebbe essere un'impresa significativa. Non posso dire quanto è cambiato nella mainline tra version 1.0
e version 2.0
. A lungo termine, dovresti prendere in considerazione l'uso di git, la forking del repository e poi fare costantemente delle modifiche al tuo ramo. Questo è coperto in richiama le modifiche upstream nel git fork for repo articolo. Fare questo per piccole modifiche ti aiuterà a mantenere aggiornato il tuo codice e anche a ridurre il carico di lavoro rispetto alle principali modifiche. Ti manterrà aggiornato anche se ci sono delle sezioni importanti in fase di rilavorazione in cui hai apportato delle modifiche, in modo che tu sappia che dovrai risparmiare tempo per reintrodurre le tue modifiche.