¿Cómo puedo hacer que Emacs revierta todos los búferes sin cambios al cambiar ramas en git?

A menudo, cuando cambio ramas en git, si los archivos están abiertos en emacs, emacs me pregunta si quiero revertirlos (ya que cree que han cambiado en el disco) a pesar de que el contenido es idéntico.

n primer lugar, me gustaría encontrar una manera para que emacs no me pregunte si los contenidos del disco son idénticos a los del búfer.

En segundo lugar, me gustaría un comando que revierta (sin consulta) todos mis búferes abiertos que no tienen cambios sin guardar, y me preguntó sobre aquellos que sí tienen cambios sin guardar.

Alternativamente, estaría abierto a sugerencias sobre otras soluciones, formas de trabajo, etc. que podría probar. Estoy bastante feliz escribiendo emacs-lisp si la gente me puede dar consejos sobre dónde comenzar.

PS Estoy usando Aquamacs en OSX si eso importa.

Editar

Bueno, he encontrado que el paquete revbuffs es más o menos lo que necesito. Ciertamente lo suficiente como para evitar que quiera intentar escribir algo nuevo yo mismo. (Mapeé revbuffs a Cmd-R que funciona bastante bien. Algo similar a Cmd-R en otras aplicaciones de Mac).

El modo de reversión automática global hubiera sido una solución perfectamente buena, y desearía poder elegir dos respuestas. Prefiero revbuffs simplemente por una sensación, posiblemente irracional, de querer tener el control de lo que sucede.

Supuse que si accedía a git desde emacs, probablemente podría manejarse más fácilmente, pero actualmente prefiero acceder a git a través de la línea de comandos. (No he estado usando emacs lo suficiente como para que sea mi sistema operativo). Sin embargo, investigaré magit un poco más a fondo.

Edit2:

He estado usando magit durante un año y puedo recomendarlo para tratar con git desde dentro de emacs. Sin embargo, todavía uso revbuffs cada vez que hago un rebase fuera de emacs.

Respuestas a la pregunta(3)

Su respuesta a la pregunta