Question

Lorsque vous utilisez des sous-modules git, quel est le moyen préféré de personnalisation? Devrais-je ...

  • branchez le projet et suivez la fourche
  • essayer de remplacer le comportement par défaut
  • faire les modifications localement

Si rien de tout cela n'a de sens, alors que fait-on?

Était-ce utile?

La solution

Je ne sais pas si votre question implique que tous les projets que vous souhaitez inclure sont déjà des projets git ou s'ils sont actuellement svn, mercurial, non contrôlés par la version. Si c’est le dernier cas, il faudrait une réponse au cas par cas.

Très probablement, les projets que vous souhaitez inclure et personnaliser sont déjà sur, disons, github. Ensuite, vous devez absolument passer à travers github et utiliser ces forks comme sous-modules. Toute personnalisation doit être archivée et poussée dans github.

Cela pourrait être plus délicat si les projets que vous souhaitez inclure sont ailleurs (ou sont basés sur svn, mercurial, etc.). Une solution consiste à créer les projets localement, puis à configurer des tâches cron pour appliquer les modifications entrantes à github. C'est-à-dire, créez des miroirs github. Pour avoir le contrôle total de la fusion et de la mise à niveau, vous devrez peut-être créer ces miroirs et les inclure en tant que sous-modules dans votre projet, en enregistrant les personnalisations locales et en les déplaçant vers le contenu du miroir.

L’option n ° 3, qui consiste à créer des projets et à effectuer des enregistrements locaux uniquement, peut être utilisée dans les cas où vous n’avez pas les options ci-dessus et où ce que vous créez n’est pas vraiment destiné à être distribué facilement.

La correction de singe (la variante n ° 2 de votre liste) devrait être une alternative laissée aux situations dans lesquelles vous ne souhaitez pas qu'un projet devienne dépendant de votre mise à jour personnalisée des modifications en amont.

Autres conseils

Je trouve extrêmement pénible de sous-projets utilisant le sous-module git. C’est pourquoi j’ai écrit git subtree à la place.

L’idée de git sous-arbre est que vous importiez le contenu du sous-projet dans votre propre projet, de sorte que tout soit branché en une fois et que vous fassiez de nouveaux commits comme vous le souhaitez. Ensuite, lorsque vous serez prêt (le cas échéant), vous pourrez utiliser git subtree split pour extraire l'historique du sous-projet et le soumettre en amont.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top