git blame с деталями фиксации в emacs
Из emacs, как я могу увидеть детали (например, сообщение о фиксации) фиксации, которая в последний раз изменила линию в точке?
У меня установлен magit.
2 ответа:
Нет необходимости использовать magit для этой конкретной операции-vanilla emacs может это сделать.
(Кроме того, поскольку это использует vc, это должно работать идентично в любой системе управления версиями, которую поддерживает vc.)
Сначала используйте команду
vc-annotate
, которая привязана к последовательности ключей C-x v g .Теперь точка должна быть на ID фиксации, который вас интересует. (Если нет, вам может понадобиться использовать C-x 1 и / или v так, чтобы вы можно увидеть, какая линия является какой, чтобы перейти к правой.) Вы можете увидеть разницу для этого файла, используя = теперь-если вы получаете ошибку, начинающуюся с "не может отличаться от любой предыдущей редакции...", что, вероятно, означает, что эта ревизия создала файл (и это, вероятно, ошибка в emacs).
Автор и дата уже видны в буфереаннотации , который
vc-annotate
произвел.Чтобы увидеть сообщение фиксации, нажмите l (буква, а не номер 1) в буфереаннотировать . Чтобы посмотреть, как выглядел файл в этой редакции, нажмите f либо в буфере Annotate, либо в буфере vc-change-log.
Я бы предложил использовать
magit-blame-mode
(M-x magit-blame-mode ). Он предоставляет информацию гораздо более приятным способом по сравнению сvc-annotate
и является частью стандартного распределения magit. Вы, вероятно, захотите привязать его к какой-нибудь комбинации клавиш, чтобы переключать его быстро.В
magit-blame-mode
используйте p и n для перехода между предыдущим и следующим изменением и RET, чтобы увидеть разницу для конкретного коммита.