Git показать старую версию файла в редакторе - программирование

Git показать старую версию файла в редакторе

Я понял, что могу показать старые версии файла, используя "git log filename", чтобы показать коммиты, а затем использовать "git show commit-id: filename" для старой версии. Но это просто снижает его.

Я хотел бы иметь возможность просматривать это в emacs, поэтому я могу перемещаться по мере того, как я привык, и чтобы подсветка синтаксиса. Я узнал, что я не могу установить git core.pager в emacs, поскольку emacs не может читать из stdin.

Кто-нибудь знает, как я могу это сделать? Или у вас есть еще один хороший способ проверки старых версий файлов?

4b9b3361

Ответ 1

Просто используйте > и поместите его в файл, который можно открыть в emacs.

git show commit-id:filename > oldfile

Затем откройте файл в emacs.

Ответ 2

Если вы используете bash, вы можете использовать замену процесса.

gvim <(git show commit-id:filename)

Ответ 3

Пакет Emacs git -timemachine позволяет вам переходить назад и вперед через git ревизии файла:

https://github.com/pidu/git-timemachine

Ответ 4

Используя следующую команду Vim, можно просмотреть предыдущую версию файла без необходимости что-либо очищать впоследствии.

 git show commit-id:filename | vim - -n

Объяснение: Аргумент dash команды vim заставляет vim загружать все, что поступает из стандартного ввода. Опция -n подавляет создание файлов подкачки.