git récupérer un seul fichier qui a été supprimé lors d'une fusion

Je suis actuellement dans la branche 'foo'. Je viens de courir git merge master. Le seul problème est qu'il y avait un certain fichier foo que je voulais garder. Existe-t-il un moyen de le récupérer mais de garder tous les autres changements de merge master?

43
demandé sur Drew Noakes 2010-01-19 22:42:09

2 réponses

Essayez quelque chose comme ceci:

git checkout HEAD -- filename

Cela lancera votre retour de fichier un commit. Si vous voulez revenir à un commit spécifique, vous pouvez utiliser un hachage de commit ou ajouter ^N à la fin du mot-clé HEAD, par exemple HEAD^2.

46
répondu Bartek 2012-12-03 02:16:42

Je ne sais pas comment corriger le problème de la situation actuelle, mais vous voudrez peut-être regarder git merge -s ours. Les documents sont ici .

Un flux de travail serait

  1. créer une branche a à partir de master
  2. effectuez une modification personnalisée dans la branche a que vous ne voudrez pas fusionner dans master
  3. découvrez master et git merge -s ours a
  4. consultez a et continuez à travailler et à vous engager.

Maintenant, lorsque vous fusionnez avec master, la l'étape 2 sera ignorée.

0
répondu Gattster 2010-01-19 19:48:03