Часто, когда я переключаю ветви в git, если файлы открыты в emacs, emacs спрашивает, хочу ли я их вернуть (поскольку он думает, что они изменились на диске), хотя содержимое идентично.Как я могу заставить Emacs вернуть все неизменные буферы при переключении ветвей в git?
Во-первых, я хотел бы найти способ, чтобы emacs не спрашивал меня об этом вообще, если содержимое на диске идентично содержимому в буфере.
Во-вторых, мне нужна команда, которая вернула (без запроса) все мои открытые буферы, у которых нет несохраненных изменений, и спросил меня о тех, у которых есть несохраненные изменения.
В качестве альтернативы, я был бы открыт для предложений о других решениях, способах работы и т. Д. Я мог бы попробовать. Я довольно счастлив писать emacs-lisp, если люди могут дать мне указания о том, с чего начать.
PS Я использую Aquamacs на OSX, если это имеет значение.
Edit:
Ну, я нашел пакет revbuffs быть довольно много, что мне нужно. Конечно, достаточно, чтобы остановить меня, желая попробовать написать что-нибудь новое. (Я сопоставил revbuffs с Cmd-R, который работает очень хорошо. Вид похож на Cmd-R в других приложениях Mac).
Режим Global-auto-revert был бы идеальным решением, и я хотел бы выбрать два ответа. Я предпочитаю обрезки просто из-за, возможно, иррационального чувства желания контролировать то, что происходит.
Я бы догадался, что если бы я получил доступ к git из emacs, тогда, возможно, это было бы легче, но в настоящее время я предпочитаю доступ к git через командную строку. (Я не достаточно давно использовал emacs, чтобы сделать его своей операционной системой). Однако я исследую магит немного более тщательно.
Edit2:
Я использую Magit уже в течение года и может очень рекомендую его для работы с мерзавцем внутри Emacs. Однако я все еще использую revbuffs, когда я делаю rebase вне emacs.
Я знаю, что это древняя, но я люблю рассуждения Singletoned, и иметь небольшую вилку revbufs на GitHub https://github.com/capitaomorte/revbufs –