mise en page du projet:répertoire commun de référence git/repo
/project_a
/shared
/project_b
/shared
/shared
project_a et les deux project_b doivent contenir le dossier partagé. Avec svn, nous avons utilisé svn: externes et cela a bien fonctionné, puisque svn peut référencer des sous-répertoires (avec des chemins relatifs aussi). Cependant, nous avons déménagé à git et il semble ne pas prendre en charge les sous-répertoires.
Notre solution est maintenant de mettre project_a, project_b et partagé tous dans différents repos git, et d'utiliser des sous-modules git dans project_a et project_b. Cependant cela semble beaucoup plus compliqué qu'un svn repo monolithique avec svn: externals. Quelle est la bonne façon de gérer les éléments communs dans git?
EDIT: Le consensus est sous-modules sont la voie à suivre. Mais après l'avoir utilisé pendant une journée, il semble très hostile à utiliser.
Après avoir fait un changement dans un fichier partagé, je dois:
- les modifications au Partagés
- Poussez le changement de la part
- Ajouter le nouveau répertoire partagé dans le répertoire parent
- Poussez le répertoire parent
par rapport à une seule livraison en svn, cela semble plus compliqué. Et l'absence de l'une de ces étapes entraîne un énorme désordre de versioning. Est-ce que j'ai râté quelque chose?
Merci pour la réponse détaillée VonC. Avoir à courir 4 étapes est un dealbreaker pour nous, retour à svn c'est – phillee