Ho diverse applicazioni in sottodomini su vari server Ogni applicazione ha il proprio repository git. Ogni applicazione utilizza diversi file condivisi. In sostanza, i miei repos si sovrappongono. Come viene gestita questa situazione con più editor di più progetti?Come condividere file tra repository git?
risposta
Proverei a creare tutte le parti sovrapposte git submodules.
Sembra che dovresti suddividere gli elementi comuni in modo che ci sia una chiara distinzione, quindi utilizzare i sottomoduli. Assicurati di separare chiaramente i pezzi comuni, altrimenti rischierai di creare un disordine irraggiungibile.
Fintanto che più progetti stanno trasferendo le modifiche al sottomodulo fino alla posizione condivisa, sì, tutti possono apportare modifiche alla risorsa condivisa. Detto questo, se uno di loro ha bisogno che il loro sia 'speciale', dovrà dirottare il sottomodulo.
https://git-scm.com/book/en/v2/Git-Tools-Submodules
Questo ti guida attraverso un progetto eccellente con sottomoduli, la modifica del modulo all'interno del progetto di super e spingendolo indietro. Mostra anche il pericolo che sovrascrive in modo silenzioso le modifiche se si esegue un git submodule update
e si hanno modifiche locali non premute sul ramo principale.
In particolare, da qualche parte si ha una cartella condivisa 'cartella' - è necessario rimuovere questo da tutti i progetti git, ma creare un nuovo repository git da qualche parte con il contenuto corrente come commit iniziale. Poi avrai git submodule <repo> folder; git submodule update
in tutti i progetti che ora lo condivideranno. Saranno tutti in grado di trasferire le modifiche al repository condiviso e saranno in grado di abbattere le modifiche reciproche.
È inoltre possibile utilizzare lo strumento git-subrepo. La pagina wiki è collegata. È fondamentalmente una versione migliorata di submodule
e subtree
.
- 1. Come sincronizzare comodamente un file tra due repository git
- 2. Come condividere i dati tra file javascript?
- 3. Git Extensions - Differenze tra repository personale e repository centrale
- 4. Elenca i file nel repository git locale?
- 5. Condividere un oggetto tra file QML
- 6. Posso unire due repository Git con contenuti simili, ma non condividere alcun antenato?
- 7. come riavviare un repository git
- 8. Come rilevare il conflitto tra due repository git.
- 9. Come condividere un controller NSArray tra due file pennino?
- 10. Come condividere documenti odt/doc oltre git
- 11. Rimuovere completamente un file dall'intero repository git
- 12. Come condividere il log di commit git con il cliente senza dare accesso al repository?
- 13. Come condividere il codice tra due progetti?
- 14. Creare un repository git che contenga un altro repository git
- 15. Scarica il repository Git senza tutti i file .git?
- 16. git repository sync tra computer, quando ci si sposta?
- 17. Condividere il codice tra filiali in diverse cartelle
- 18. Git, eliminazione del repository
- 19. come condividere costanti (enumerazioni) tra le classi?
- 20. Come condividere un UIManagedDocument tra oggetti diversi?
- 21. Come aggiornare un file tra tutte le filiali in un repository Git
- 22. Avere più repository Git
- 23. Mantenimento del repository git contenente altro repository di git clonato
- 24. Riparare git repository danneggiato
- 25. Recupero repository git rotto
- 26. Come condividere un build.gradle comune tramite un repository?
- 27. Git Repository Too Large
- 28. Icona repository Git
- 29. Come gestire i file IDE in un repository git?
- 30. Come estrarre i file sorgente da un repository git?
Dopo alcune ricerche, sembra che non sia possibile modificare la risorsa condivisa come sottomodulo. Idealmente, vorremmo essere in grado di modificare la condivisione dagli altri progetti in cui sono inclusi, ma mantenere una posizione centrale. Questo è ancora possibile con i sottomoduli? – tbeseda
Le persone che lavorano su uno qualsiasi dei progetti in cui sono inclusi saranno in grado di apportare modifiche ai sottomoduli, ma le modifiche devono essere monitorate separatamente. Non c'è modo di spingere le modifiche a un repository git e capire che alcune delle modifiche dovrebbero essere trasferite su un altro repository. – mckeed
Ecco un paio di ulteriori documenti che utilizzano un approccio walk-through: http://git-scm.com/book/en/Git-Tools-Submodules e https://git.wiki.kernel.org/index .php/GitSubmoduleTutorial – Sean