Git di un repository dipendente da un altro

1

Ho un repository git che è compilato con una libreria e durante la compilazione la libreria viene cambiata con un'altra libreria per ottenere 2 versioni di codice compilato per 2 diverse librerie. (diverse versioni dello stesso software)

Questo metodo ha funzionato fino ad ora.

Ora ho ricevuto una nuova 3a libreria che differisce significativamente in alcune classi. Vorrei mantenere lo stesso codice base e modificare solo le parti del codice in cui sono presenti problemi. alla nuova libreria.

La domanda è, come fare per impostare un secondo repository che è collegato al ramo principale del primo repository ?. Voglio fare lo sviluppo solo nel repository principale e quindi sincronizzare le modifiche al secondo repository e modificare solo il codice che è rilevante. librerie.

È questo il modo giusto per risolvere questo problema? o c'è un altro modo.

Grazie!

    
posta J.Doe 14.09.2018 - 11:34
fonte

3 risposte

1

Se capisco correttamente il tuo problema, dovrebbe essere possibile farlo con un bransch remoto separato.

Crea un nuovo ramo: git checkout -b feature_branch_name

Modifica, aggiungi e registra i tuoi file.

Inserisci il tuo ramo nel repository remoto: git push -u origine feature_branch_name

Quindi imposta una build per ciascuna combinazione di librerie di rami nell'ambiente CI.

Fai un buon piano per spingere e unire o addapt Git Flow.

    
risposta data 14.09.2018 - 13:08
fonte
1

Il problema che stai cercando di risolvere è Gestione delle dipendenze . Questo non è qualcosa che Git, Git Submodule o altri tipi di controllo del codice sorgente possono indirizzare. A seconda dello stack tecnologico con cui stai lavorando, hai a disposizione un gruppo:

  • C # / VBScript: NuGet
  • JavaScript: NPM
  • Ruby: RubyGems
  • Java: Maven
  • Python: pip

Ce ne sono molti altri.

La gestione delle dipendenze consente al tuo codice di utilizzare diverse versioni della stessa libreria, che è il problema principale che stai riscontrando. Questo può tradursi nell'uso di rami in Git per sviluppare questo, o opzioni di configurazione durante il processo di compilazione. Indipendentemente da ciò, Git non risolverà questo problema.

    
risposta data 14.09.2018 - 18:57
fonte
-1

Sembra che quello che stai cercando sia git submodules:

git submodules

    
risposta data 14.09.2018 - 15:05
fonte

Leggi altre domande sui tag