Git: Comment faire pour annuler une fusion

La situation:
En commençant par le Maître de A j'ai bifurqué et apporté quelques modifications à B ensuite fusionnés qui branche dans (C). Après avoir fait quelques modifications plus j'étais à D mais j'ai trouvé que j'nécessaires pour déployer le code sans les modifications qui s'est passé dans la branche. Si je part pas fusionné avec ce qui aurait été bien.

A_______C___D
 \     /
  \_B_/

Tout d'abord j'aimerais savoir ce que j'aurais fait à partir d'ici pour déployer le code comme si la fusion n'est jamais arrivé. Remarque: aucun des même les fichiers qui ont été modifiés dans la branche ont été édités dans le maître.

Deuxièmement...

Je n'ai pas eu le temps de travailler sur la meilleure méthode pour faire face à cela, donc j'ai supprimé les fichiers dont la direction générale ajoutée, et à la main est revenue quelques modifications apportées à la branche, puis engage le résultat pour le déploiement (F)

A_______C___D___F
 \     /
  \_B_/

Je veux être en mesure de suivre le développement de la branche et de fusionner les modifications du maître afin de le maintenir à jour, mais si je ne fais que ce que j'ai fait pour créer F seront fusionnés dans et la cause de la suppression des fichiers et les modifications apportées à être annulées. Quelle est la meilleure façon de traiter ce problème?

OriginalL'auteur Jake | 2010-12-14