Forking di un progetto open source usando Git

4

C'è un progetto open source che voglio biforcare per le mie ragioni. Attualmente ha un mirror Git del suo repository SVN principale che posso usare.

Quali sono le migliori tecniche per forgiare un progetto pur mantenendo la possibilità di unire le future modifiche del progetto originale nel tuo repository bifronte usando Git?

Tieni presente che non utilizzerò Github per lo sviluppo, quindi l'utilizzo di qualsiasi funzione non è possibile. Il progetto sarà ospitato su un VPS privato.

    
posta Cromulent 21.10.2012 - 21:34
fonte

2 risposte

6

La tua forcella è semplicemente un ramo che non sarà mai ri-unito nel tronco principale. Immagino che i manutentori del progetto non sappiano della tua filiale e non presteranno mai alcuna attenzione alle modifiche apportate al codice originale. Pertanto, se si modificano parti del codice originale in cui si applicano i manutentori, si applicano anche modifiche in futuro, si prevede di ottenere collisioni di fusione. Questo può essere accettabile o meno, a seconda della frequenza di "pull" dalla base del codice originale e della natura e dimensione delle modifiche.

Il miglior approccio per affrontare questo è IMHO per mantenere le modifiche il più piccole possibile - per esempio, inserire la maggior parte del tuo codice in file diversi. Ciò renderà le possibilità di unire le collisioni più piccole ogni volta che "estrai" le future modifiche nel tuo ramo.

    
risposta data 21.10.2012 - 21:57
fonte
4

Mantenere il progetto originale in un ramo chiamato upstream o vendor (che preferisco) aiuta a separare le modifiche dalle modifiche all'originale. Scrivo anche i motivi del fork in README.md , o creo anche FORK.md per questo motivo. La memorizzazione di tali informazioni è particolarmente utile se le modifiche rispetto all'originale sono ridotte (e non verranno integrate a monte).

    
risposta data 22.10.2012 - 01:03
fonte

Leggi altre domande sui tag