La situation: En commençant par le maître à A
j'ai ramifié et apporté quelques modifications à B
puis fusionné cette branche en (C)
. Après avoir apporté quelques modifications supplémentaires, j'étais au D
mais j'ai trouvé que j'avais besoin de déployer le code sans les changements survenus dans la branche. Si je ne l'ai pas fusionné, ça aurait été bien.Git: comment "annuler" une fusion
A_______C___D
\ /
\_B_/
Tout d'abord, je voudrais savoir ce que je aurais dû le faire d'ici à déployer le code comme si la fusion n'a jamais eu lieu. Remarque: aucun des fichiers modifiés dans la branche n'a été modifié dans le maître.
... En second lieu
Je ne l'ai pas eu le temps de trouver la meilleure méthode pour faire face à cela, donc je supprimé les fichiers que la branche ajoutée et revins manuellement quelques modifications apportées dans la branche puis commited le résultat pour le déploiement (F
)
A_______C___D___F
\ /
\_B_/
Je veux être en mesure de continuer à développer la branche et de fusionner toutes les modifications du maître en elle pour le maintenir à jour, mais si je fais que les choses que je faisais pour créer F
seront fusionnés et entraînera la suppression des fichiers et la restauration des modifications. Quelle est la meilleure façon de gérer cela?
Génial, merci! Je vais l'utiliser à l'avenir (si être plus prudent avec mes fusions ne fonctionne pas). Voir la réponse de @ terminus pour ce que j'ai fait. Je pense que cela a pratiquement donné le même résultat que votre réponse. – Jake