Est-il possible de sortir un seul fichier en Git?

je travaille sur une branche Git qui a quelques tests cassés, et je voudrais tirer (fusionner les changements, pas simplement écraser) ces tests d'une autre branche où ils sont déjà fixés.

je sais que je peux faire

git pull origin that_other_branch

mais cela va tenter de fusionner beaucoup d'autres fichiers, pour que je ne suis pas encore prêt.

est-il possible de n'extraire et fusionner que le fichier spécifié (et pas tout) à partir d'une autre branche?

ce n'est pas un duplicata de git pull request pour un seul fichier car toutes les réponses à cette question sont comment retourner le fichier modifié localement à la version du dépôt, sans changer aucune branche.

122
demandé sur Peter Mortensen 2013-04-26 11:20:24

3 réponses

vous pouvez aller chercher et ensuite vérifier un seul fichier de cette façon:

git fetch
git checkout -m <revision> <yourfilepath>
git add <yourfilepath>
git commit

concernant la commande git checkout : <revision> - un nom de succursale, c.-à-d. origin/master <yourfilepath> n'inclut pas le nom du dépôt (que vous pouvez obtenir en cliquant sur copy path sur une page de fichier sur GitHub), i.e. README.md

108
répondu aleroot 2018-01-01 22:53:30

Voici une méthode un peu plus facile que je viens de trouver en faisant des recherches sur ceci:

git fetch {remote}
git checkout FETCH_HEAD -- {file}
206
répondu Chris 2018-01-01 22:53:55
git checkout master -- myplugin.js

master = nom de la branche

myplugin.js = nom du fichier

1
répondu Mawardy 2018-06-26 14:34:36