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.
Cela devrait fonctionner:
git show branch:file
Où 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
.
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
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.
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).
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
.