git checkout master               # first get back to master
git checkout experiment -- app.js # then copy the version of app.js 
                                  # from branch "experiment"
Voir aussi git comment annuler les modifications d'un fichier?
Mise à jour d'août 2019, Git 2.23
Avec les nouvelles commandes git switchet git restore, ce serait:
git switch master
git restore -s experiment -- app.js
Par défaut, seule l'arborescence de travail est restaurée. 
Si vous souhaitez également mettre à jour l'index (c'est-à-dire restaurer le contenu du fichier et l' ajouter à l'index en une seule commande):
git restore -s experiment --staged --worktree -- app.js
# shorter:
git restore -s experiment -WS -- app.js
Comme Jakub Narębski le mentionne dans les commentaires:
git show experiment:path/to/app.js > path/to/app.js
fonctionne aussi, sauf que, comme détaillé dans la question SO " Comment récupérer un seul fichier d'une révision spécifique dans Git? ", vous devez utiliser le chemin complet depuis le répertoire racine du référentiel. 
D'où le chemin / to / app.js utilisé par Jakub dans son exemple.
Comme Frosty le mentionne dans le commentaire:
  vous n'aurez que l'état le plus récent de app.js
Mais, pour git checkoutou git show, vous pouvez en fait référencer n'importe quelle révision que vous voulez, comme illustré dans la question SO " git checkout revision of a file in git gui ":
$ git show $REVISION:$FILENAME
$ git checkout $REVISION -- $FILENAME
serait le même si $ FILENAME est un chemin complet d'un fichier versionné.
$REVISIONpeut être comme indiqué dans git rev-parse:
experiment@{yesterday}:app.js # app.js as it was yesterday 
experiment^:app.js            # app.js on the first commit parent
experiment@{2}:app.js         # app.js two commits ago
etc.
schmijos ajoute dans les commentaires :
  vous pouvez également le faire à partir d'une cachette: 
git checkout stash -- app.js
  
  Ceci est très utile si vous travaillez sur deux branches et que vous ne souhaitez pas vous engager.