2010-10-02 2 views
3

Pour inclure quelques dépôts git externes dans mon répertoire « principal », il y a quelques options:« sous-modules » dans git: tresse ou sous-arbre ou quelque chose d'autre

  • sous-modules
  • tresse
  • sous-arbre

Le premier semble être déconseillé par pratiquement tout le monde. Le deuxième et le troisième je crois sont des implémentations du modèle de sous-arbre.

Y a-t-il un meilleur choix? Lequel dois-je utiliser? Pourquoi? Comment puis-je choisir entre eux?

+0

J'essaie de prendre la même décision, j'ai aussi Piston: http://piston.rubyforge.org/ dans le mix. – drye

Répondre

4
  • submodule est grande à:

    • référence un commettras spécifique d'un autre repo (véritable équivalent de svn externe avec explicites numéros de révision),
    • garder les deux histoires (la pension mère et le dépôt externe) séparé (comme dans un component-based approach).
  • subtree est idéal pour inclure l'histoire d'un repo dans un autre.

Donc, si ces quelques référentiels externes ont pas vocation à se retrouver avec toutes les balises et engager l'histoire du principal parent parent, utiliser des sous-modules.
Sinon, le sous-arbre est correct.

+0

On dirait que submodule est la façon "par défaut" de le faire maintenant, et subtree est la bonne façon de le faire dans un proche avenir. –

+1

@PaulBiggar bien, ils sont encore deux façons différentes de relier deux repo, pour deux fins différentes (couplage lâche avec sous-modules, couplage serré avec sous-arbre) – VonC

+0

Qu'en est-il de la tresse (également demandé à propos de la question)? – jfritz42

Questions connexes