É possível abrir uma revisão específica de um arquivo no Emacs com Magit sem alterar a ramificação atual?
Eu refiz algumas alterações locais em uma revisão em que as funções modificadas foram substituídas pela funcionalidade em um arquivo diferente. Gostaria de abrir a revisão antiga das minhas alterações em um buffer separado para poder comparar as alterações lado a lado.
Minha solução hacky atual foi executar git show <branch pre-rebase>:file > old_file
e abrir old_file
no Emacs.
git-timemachine
mas desde que meu código foi reformulado, não acho que funcione, pois o código antigo não faz parte do histórico do ramo atual?Respostas:
Você pode visualizar um arquivo para uma revisão específica usando M-x
magit-find-file
RET<filename>
RET.Ou você pode primeiro visualizar o diff para confirmação pressionando RET-o, navegando até o arquivo dentro do diff e pressionando RETnovamente.
fonte
M-x magit-log-buffer-file
, mova a linha para o commit desejado e, em seguidaM-x magit-find-file
. Então o valor padrão será esse commit. Eu tenho que dar o caminho para o arquivo, pois isso não é retirado do buffer de log.magit-find-file
se a partir de um buffer de visita a arquivos e digite apenasRET
no segundo prompt (o arquivo apropriado é oferecido como padrão).É possível fazer com VC simples (embutido no Emacs), sem Magit. Digite
C-x v ~
e digite a versão desejada. Ele compreende tags e hashes SHA1, bem como os~1
sufixos comuns etc.fonte