Часто, когда я переключаю ветки в git, если файлы открыты в emacs, тогда emacs спрашивает, хочу ли я вернуть их (так как они думают, что они изменились на диске), даже если содержимое идентично.
Во-первых, я хотел бы найти способ для emacs вообще не спрашивать меня об этом, если содержимое на диске идентично содержимому в буфере.
Во-вторых, мне нужна команда, которая вернула (без запроса) все мои открытые буферы, в которых нет несохраненных изменений, и запросила меня о тех, у которых действительно есть несохраненные изменения.
Кроме того, я был бы открыт для предложений о других решениях, способах работы и т. Д., Которые я мог бы попробовать. Я очень рад писать emacs-lisp, если люди могут дать мне указание с чего начать.
PS Я использую Aquamacs на OSX, если это имеет значение.
Edit:
Что ж, я обнаружил, что пакет revbuffs - это почти то, что мне нужно. Конечно, достаточно, чтобы я не пытался писать что-то новое сам. (Я сопоставил revbuffs с Cmd-R, который работает довольно хорошо. Вид, похожий на Cmd-R в других приложениях Mac).
Режим глобального автоматического возврата был бы идеальным решением, и мне хотелось бы выбрать два ответа. Я предпочитаю revbuffs просто из-за, возможно, иррационального, чувства желания контролировать то, что происходит.
Я бы как-то догадался, что если бы я обращался к git из emacs, то, вероятно, это могло бы быть проще, но в настоящее время я предпочитаю обращаться к git через командную строку. (Я не использую emacs достаточно долго, чтобы сделать его моей операционной системой). Я буду исследовать Magit немного более тщательно, хотя.
Edit2:
Я использую magit уже год и очень рекомендую его для работы с git из Emacs. Однако я все равно использую revbuffs всякий раз, когда делаю ребаз за пределами emacs.