Est-il possible d'ouvrir une révision spécifique d'un fichier dans Emacs avec Magit sans changer la branche actuelle?
J'ai modifié certaines modifications locales apportées à une révision dans laquelle les fonctions modifiées ont été remplacées par des fonctionnalités situées dans un fichier différent. Je voudrais ouvrir l'ancienne révision de mes modifications dans un tampon séparé afin de pouvoir comparer les modifications côte à côte.
Ma solution actuelle de hacky a été d’exécuter git show <branch pre-rebase>:file > old_file
puis d’ouvrir old_file
dans Emacs.
git-timemachine
mais depuis que mon code a été rebasé, je ne pense pas que cela fonctionnera car l'ancien code ne fait pas partie de l'historique de la branche actuelle?Réponses:
Vous pouvez afficher un fichier pour une révision spécifique en utilisant M-x
magit-find-file
RET<filename>
RET.Ou vous pouvez tout d’abord visualiser le diff à valider en appuyant RETdessus, en naviguant jusqu’au fichier situé dans le diff, puis en appuyant à RETnouveau.
la source
M-x magit-log-buffer-file
, déplacez la ligne vers le commit souhaité, puisM-x magit-find-file
. Ensuite, la valeur par défaut sera ce commit. Je dois donner le chemin du fichier car il n’est pas récupéré dans le tampon du journal.magit-find-file
-le depuis un tampon de visite de fichier, puis tapezRET
à la deuxième invite (le fichier approprié est proposé par défaut).C'est possible avec Plain VC (intégré à Emacs), sans Magit. Tapez
C-x v ~
et tapez la version que vous voulez. Il comprend les balises et les hachages SHA1, ainsi que les~1
suffixes habituels, etc.la source