Le maintien des branches de développement où une branche est un sous-ensemble d'une autre branche
-
20-09-2019 - |
Question
Historique : J'ai hérité du code Matlab pour analyser les données pour mon doctorat recherche. Pour me aider à mieux comprendre le code, j'ai Pared le code jusqu'à la sous-ensemble minimum de fichiers requis pour exécuter le code pour un test de l'échantillon.
Question : Je voudrais engager ce code à un système de contrôle de version en deux branches, une branche de master
contenant tout le code, et une branche de minimal
contenant ma version épurée du code et être en mesure de fusionner les modifications et-vient entre ces branches. Comment puis-je y arriver?
Je préfère le faire avec un répertoire de travail unique et nommé dans les deux branches Git ou Mercurial, mais je suis ouvert à d'autres suggestions.
Modifier : Je croyais avoir vu une question précédente débordement de la pile le long de ces lignes, et je viens de trouver: mises à jour Pushing à une branche Mercurial élagué . Dans un commentaire à la réponse acceptée, il est mentionné que le terme de ce que je suis essayer de faire est « clonage étroit » et que il est un travail en cours pour les deux Git et Mercurial.
La solution
Les deux git et mercurial devraient fonctionner correctement. Création de la branche principale, puis copiez-le à la branche minimale, puis dénuder la branche minimale pour ressembler à la mise en œuvre que vous avez déjà (supprimer tous les fichiers supplémentaires, copiez les fichiers que vous avez modifiés).
A partir de là, utilisez les commandes de fusionnement régulières entre les branches. Il est probablement préférable de fusionner de la branche minimale à la branche principale principalement. La fusion dans l'autre sens « vous donne plus de chances autour de plaintes que la fusion a échoué (avec des conflits) comme certains des fichiers s'appliquent aux fichiers supprimés / fonctions supprimées.