2009-11-19 17 views
1

Les sous-arborescences dans Git fonctionnent bien, bien que certaines commandes git restent à prendre en charge pour les sous-arborescences.Utilisation de Git pour fusionner un sous-arbre à partir d'une branche distante

est ici la question:

Comment faire la traction sous-arbre d'une branche différente à distance comme « stable » ou « intégration »?


Pour votre information, nous avons un subtree "push" travailler comme un script. En fait, il peut même pousser le sous-arbre vers la branche spécifique de notre choix sur le dépôt distant.

Est-ce que quelqu'un sait comment faire l'inverse sur une traction ou même avoir une idée?

Les simples travaux de traction comme ceci:

git pull -s subtree remotebranch 

Une idée qui peut être essayé: Peut-être un processus en 2 étapes fera l'affaire.

  1. La branche à distance se branche tirée de référentiel à distance comme « stable » puis
  2. faire le git subtree pull à master?

Sincèrement, Wayne

+0

Si l'approche de sous-arbre n'est pas suffisante dans votre situation, vous voudrez peut-être envisager des sous-modules qui gèrent la traction et la poussée. – VonC

+0

Je suis content que vous ayez réussi à résoudre ce problème de push avec ce script 'subtree'. Je vais suivre ce projet sur GitHub;) – VonC

Répondre

3

Peut être (non testé) le git subtree script tool peut aider ici.
Voir son man page

Il peut fusionner/tirer un sous-projet dans votre propre pension, mais cela peut concerner toutes les branches, de sorte que votre processus en deux étapes pourrait encore être nécessaire.

+0

Merci. Cela peut aider. Il est clair que nous avons besoin d'une approche encore plus «holistique» des sous-arbres afin qu'ils fonctionnent «naturellement» comme un arbre principal. Mais c'est probablement une faible priorité pour GIT parce que les projets principaux qui utilisent GIT semblent être en lecture seule à partir des sous-arbres. Notre société dispose d'un projet scindé privé et public (open source) qui forme en fait un ensemble complet. Nous avons donc un travail bidirectionnel complet pour le sous-arbre. – Wayne

+1

Wow. Cet outil que vous avez mentionné est génial! Tellement bon que j'ai aidé à le rendre un peu meilleur. Avery a compris comment le diviser pour le sous-arbre afin qu'il n'inclue que l'histoire pertinente dans les deux directions de pousser et de tirer. Cela signifie qu'il ne tient pas compte de l'historique de votre projet principal lorsque aucun des fichiers d'un commit n'a touché le sous-arbre et que le commit inclura uniquement les fichiers présents dans le sous-arbre. En travaillant avec Avery, j'ai ajouté une poussée et amélioré l'ajout. (Il a besoin que j'ajuste quelques choses avant qu'il n'attire l'officiel, ce que j'espère faire la semaine prochaine.) – Wayne

+0

Aussi, cela ne concerne pas toutes les branches mais c'était un peu énigmatique pour l'ajout de sous-arbre et il n'y avait pas de sous-arbre . Après avoir ajouté ceux-ci, ils vous permettent maintenant de référencer specficy et refspec de la télécommande que vous voulez tirer ou à partir de. C'est génial. Je vous vérifie comme la bonne réponse! – Wayne