Voici mon problème. La société pour laquelle je travaille a commencé avec un seul site Web, basé sur osCommerce (bien avant que je ne sois venu). Le site a grandi, ils ont commencé une seconde en copiant le premier, et en le modifiant si nécessaire. Cela a continué au fil des ans, à l'endroit où nous avons maintenant cinq sites distincts, tous basés sur le même code. Lorsque nous apportons une modification à un site, je dois actuellement copier manuellement ces modifications dans le code de tous les autres sites et télécharger tous les codes modifiés sur chacun des sites.Combinaison de plusieurs sites dans un seul Git Repo
Ceci est très inefficace et me rend fou. Je sais que Git est conçu pour résoudre de tels problèmes. À l'heure actuelle, j'ai chaque site comme son propre dépôt Git, mais je suis toujours obligé de copier les modifications d'un à tous les autres. Je suis aussi assez nouveau pour Git. Je reçois des commits, des branches, tire, etc. mais sinon je suis plutôt vert.
Y at-il de toute façon que je puisse combiner tous ces sites en un seul repo, et comment le ferais-je? Je dois également souligner que les fichiers de chaque site ne sont pas nécessairement identiques. Un site est considéré comme une priorité, de sorte que certaines modifications ont été apportées en cas d'urgence qui n'ont pas été déployées sur les autres sites, et une autre est légèrement différente des 4 autres, de sorte que le code diffère légèrement à certains endroits. . Je me rends compte que cela provoquera des conflits, mais j'aimerais pouvoir trouver tous les conflits, les résoudre pour que le système fonctionne comme prévu, et que toutes les variantes soient basées sur des bases de données/options. Le patron veut déployer au moins deux autres sites dans quelques mois, alors à ce moment-là, je vais vraiment perdre la tête.
Est ce que je veux même possible? Est-ce que cela me demandera de passer en revue chaque fichier pour résoudre les conflits? Toute aide est très appréciée!
Mettre des fichiers non liés dans le même référentiel, même avec du code partagé, n'est pas une bonne idée. Vous aurez leurs histoires combinées, restreindre les devs à certains dépôts serait presque impossible, etc. L'approche la plus intelligente serait de faire un repo pour le code partagé ** et ** chaque site, et utiliser 'git submodule' pour inclure le partage code à chaque site. Dans ce cas, votre code partagé doit être complètement découplé de tout site spécifique. – KurzedMetal