Como posso obter o Emacs para reverter todos os buffers inalteradas quando se muda filiais em git?

StackOverflow https://stackoverflow.com/questions/665600

  •  21-08-2019
  •  | 
  •  

Pergunta

Muitas vezes, quando eu mudar filiais em git, se os arquivos estão abertos no emacs, então emacs pergunta se eu quiser reverter-los (como ele pensa que eles mudaram no disco), embora os conteúdos são idênticos.

Em primeiro lugar eu gostaria de encontrar uma maneira para que o Emacs para não me perguntar sobre isso em todos, se o conteúdo do disco são idênticos aos do buffer.

Em segundo lugar eu gostaria de um comando que reverteu (sem consulta) todos os meus tampões abertos que não têm alterações não salvas, e me questionaram sobre aqueles que têm alterações não salvas.

Como alternativa, eu estaria aberto a sugestões sobre outras soluções, formas de trabalho, etc eu poderia tentar. Estou bastante feliz escrevendo emacs-lisp se as pessoas podem me dar dicas sobre onde começar.

PS Eu estou usando Aquamacs no OSX se o que importa.

Editar:

Bem, eu encontrei os revbuffs pacote a ser muito bonito o que eu preciso. Certamente o suficiente para parar de me querer tentar escrever novo nada sozinho. (I mapeados revbuffs para Cmd-R que funciona muito bem. Semelhante ao tipo de Cmd-R em outros aplicativos do Mac).

Modo Global-auto-revert teria sido uma solução perfeitamente bem, e eu gostaria de poder escolher duas respostas. Eu prefiro revbuffs simplesmente por causa de uma, possivelmente irracional, sentimento de querer estar no controle do que acontece.

Eu tipo de imaginar que se eu acessada git de dentro emacs, então ele provavelmente poderia ser tratado mais fácil, mas eu atualmente preferem aceder git através da linha de comando. (Eu não tenho bastante sido usando emacs tempo suficiente para torná-lo meu sistema operacional). I vai investigar magit um pouco mais profundamente embora.

Edit2:

Eu tenho usado magit há um ano e pode recomendo para lidar com git de dentro emacs. No entanto eu ainda uso revbuffs sempre que eu faço uma fora rebase de emacs.

Foi útil?

Solução

Tente o revbufs pacote :

revbufs.el é um pequeno pacote Emacs que reverte com segurança seus buffers quando você tem arquivos que estão sendo editados tanto em Emacs e através de ferramentas externas (por exemplo, geradores de código como Jomtool ) ...

Outras dicas

Talvez você gostaria que o modo de auto-revert global. Tente executar global-auto-revert-mode e se você gosta dele você pode adicionar (global-auto-revert-mode) ao seu arquivo ~ / .emacs.

pacote magit fazer isso automaticamente, quando você ativa magit-ionotify-mode (necessidade inotify emacs 24.4 no linux). Sua descrição pode encontrar aqui .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top