Подтвердить что ты не робот

Git винить с фиксацией данных в emacs

Из emacs, как я могу увидеть подробности (например, сообщение фиксации) фиксации, которая в последний раз изменила строку в точке?

У меня установлен магит.

4b9b3361

Ответ 1

Нет необходимости использовать magit для этой конкретной операции - vanilla emacs может это сделать.

(Кроме того, поскольку это использует vc, это должно работать одинаково в любой системе управления версиями, поддерживаемой vc.)

Сначала используйте команду vc-annotate, которая привязана к последовательности клавиш C-x v g.

Теперь точка должна быть в идентификаторе фиксации, который вас интересует. (Если нет, вам может потребоваться использовать C-x 1 и/или v, чтобы вы могли видеть, какая строка является той, чтобы перейти к правильному.) Теперь вы можете увидеть diff для этого файла с помощью = - если вы получите сообщение об ошибке, начинающееся с "не может отличаться от любой предыдущей версии...", это, вероятно, означает, что эта ревизия создала файл (и, вероятно, ошибку в emacs).

Автор и дата уже видны в буфере аннотатов, который vc-annotate создан.

Чтобы увидеть сообщение фиксации, нажмите l (буква, а не номер 1) в буфере аннотаций. Чтобы посмотреть, как выглядит файл в этой ревизии, нажмите f либо в буфере Annotate, либо в буфере vc-change-log.

Ответ 2

Я предлагаю использовать magit-blame-mode (M-x magit-blame-mode). Он предоставляет информацию намного лучше по сравнению с vc-annotate и является частью стандартного распределения магитов. Вероятно, вы захотите привязать его к некоторой комбинации клавиш, чтобы быстро переключаться.

В magit-blame-mode используйте p и n для перехода между предыдущим и следующим изменением и RET, чтобы увидеть diff для определенного коммита.