Je prévois une réécriture complète de mon projet, en utilisant un autre framework, etc. Ce serait bien de conserver l'ancien code, y compris l'historique pour référence. Quelle est la meilleure façon de procéder pour éviter les risques, la confusion et les surprises?
Mon idée est de créer une nouvelle branche, de tout remplacer là-bas et d'obtenir une "nouvelle" version de base, de baliser le dernier "ancien" maître, puis de fusionner la branche avec le maître. Cela vous semble-t-il raisonnable?
Réponses:
Je vote pour tout garder dans un seul référentiel.
Je voudrais:
C'est ainsi:
En plus: vous pouvez également créer une balise de l'ancien code hérité, si vous savez que vous ne voudrez jamais y ajouter de commit.
Quand vous devez créer un nouveau référentiel au lieu de faire ceci:
la source
À moins qu'il n'y ait une raison pressante de fusionner les branches de réécriture et d'historique, je les garderais séparées. Créez une nouvelle branche pour conserver l'ancien code, faites votre réécriture dans master et gardez-les séparés de cette façon. De cette façon, vous pouvez toujours travailler avec l'ancien framework / implémentation si la situation change.
la source
C'est à cela que servent les branches orphelines.
Vous devrez peut-être définir
new_branch
temporairement la branche par défaut dans Github car elle affiche master par défaut.la source
Vous pouvez créer une nouvelle branche dans le projet en cours, mais il peut être préférable de marquer le référentiel comme privé, puis d'en créer un nouveau pour votre nouveau code, de cette façon, vous avez toujours l'ancien référentiel, mais le travail obsolète n'est pas surchargé.
Je vous suggère de prendre cette approche au lieu d'essayer de fusionner plus tard la branche vers master non seulement parce que vous aurez toujours ce ballonnement du code obsolète, mais aussi parce qu'il peut y avoir plusieurs conflits de fusion frustrants au moment où vous êtes prêt à faites le pull. Afin d'éviter cela, il serait préférable de commencer avec une branche claire plutôt que de fusionner deux complètement différentes.
la source