web-dev-qa-db-fra.com

Afficher un fichier dans une autre branche Git sans changer de branche

Est-il possible d'ouvrir un fichier dans une branche git sans vérifier cette branche? Comment?

Essentiellement, je veux pouvoir ouvrir un fichier dans ma branche pages github sans changer de branche tout le temps. Je ne veux pas le modifier, je veux juste le voir.

555
Schneems

Cela devrait fonctionner:

git show branch:file

branche peut être n'importe quel fichier ref (branche, tag, HEAD, ...) et est le chemin complet du fichier. Pour l'exporter, vous pouvez utiliser

git show branch:file > exported_file

Vous devriez également consulter les réponses de VonC à certaines questions connexes:

MISE À JOUR 2015-01-19:

De nos jours, vous pouvez utiliser des chemins relatifs avec git show a1b35:./file.txt.

778
Scolytus
git show somebranch:path/to/your/file

vous pouvez également créer plusieurs fichiers et les concaténer:

git show branchA~10:fileA branchB^^:fileB

Vous devez fournir le chemin complet du fichier.

Si vous voulez obtenir le fichier dans le répertoire local (restaurer un seul fichier), vous pouvez extraire:

git checkout somebranch^^^ -- path/to/file
46
Adam Dymitruk

Un moyen simple et convivial pour les novices de chercher dans un fichier: git gui browser <branch> qui permet d’explorer le contenu de n’importe quel fichier.

C'est aussi là dans le menu Fichier de git gui. La plupart des autres interfaces graphiques (plus avancées) (Qgit, Egit, etc.) offrent également la navigation/l’ouverture de fichiers.

35
inger

Si vous utilisez Emacs, vous pouvez taper C-x v ~ pour voir une révision différente du fichier que vous êtes en train de modifier (les balises, les branches et les hachages fonctionnent tous).

19
legoscia

Ajoutez ce qui suit à votre fichier ~/.gitconfig

[alias]
  cat = "!git show \"$1:$2\" #"

Et puis essayez ceci

git cat BRANCHNAME FILEPATH

Personnellement, je préfère des paramètres séparés sans deux points. Pourquoi? Ce choix reflète les paramètres de la commande checkout, que j'ai tendance à utiliser assez fréquemment et que je trouve donc beaucoup plus facile à mémoriser que le paramètre bizarro séparé par des deux points de la commande show.

1
akuhn