J'ai un fichier foo.txt
dans la branche A
et je veux extraire foo.txt
de la branche B
dans l'index. Sur la ligne de commande, je ferais ceci:
$ git checkout B -- foo.txt
Je veux pouvoir le faire dans magit en allant dans le journal, en trouvant le commit qui m'intéresse (par exemple l o B
), en trouvant foo.txt
et en exécutant une commande, mais je ne sais pas comment le faire.
Réponses:
Depuis magit 2.11.0, cela est possible directement depuis le répartiteur de réinitialisation (
X f
et vous pouvez spécifier la révision et le fichier):Cela peut être fait par programmation dans magit using
magit-file-checkout
qui accepte une spécification de version et le nom de fichier (grâce à la demande de fonctionnalité de @Emoses et à l'implémentation de @Kyle Meyer). Auparavant, la fonction était nomméemagit-checkout-file
(de la v2.3.0 à la v2.9.0).la source
magit-checkout-file
est désormais obsolète. Utilisezmagit-file-checkout
plutôt.Je ne connais pas de méthode intégrée pour le faire.
En supposant que vous êtes sur la branche A, une autre approche serait de différencier la branche B (
d r ..B
), puis de déplacer le point vers le fichier qui vous intéresse. Appuyez sura
pour appliquer ces modifications à l'arborescence de travail (plutôt qu'à l'index).J'ai une commande dans ma configuration pour réinitialiser ou extraire un fichier d'une révision, mais, dans son état actuel, elle ne correspond pas exactement à ce que vous demandez car elle n'offrira pas une bonne révision par défaut lorsque dans Magit Revision mode.
la source