53 votes

Comment puis-je obtenir qu'Emacs rétablisse tous les tampons non modifiés lors du changement de branche dans git?

Souvent, lorsque je change de branches de git, si les fichiers sont ouverts dans emacs, puis emacs vous demande si je veux revenir (car il pense qu'ils ont été modifié sur le disque), même si le contenu est identique.

Tout d'abord, je voudrais trouver un moyen pour emacs me demandez pas du tout si le contenu sur le disque sont identiques à ceux de la mémoire tampon.

Deuxièmement, je voudrais une commande qui est revenue (sans requête) tous mes tampons qui n'ont pas de modifications non enregistrées, et interrogé à moi au sujet de ceux qui ont des modifications non enregistrées.

Sinon, je serais ouvert à des suggestions sur d'autres solutions, des moyens de travail, etc j'ai pu essayer. Je suis assez heureux de l'écriture emacs-lisp si des personnes peuvent me donner des conseils sur où commencer.

PS je suis en utilisant Aquamacs sur OSX si ce qui compte.

Edit:

Eh bien, j'ai trouvé le revbuffs paquet à être à peu près ce dont j'ai besoin. Certainement assez pour m'empêcher de vouloir l'essayer et d'écrire quelque chose de nouveau moi-même. (J'ai mappé revbuffs pour Cmd-R, ce qui fonctionne très bien. Un peu comme pour Cmd-R dans les autres applications Mac).

Mondial-auto-revenir en mode aurait été parfaitement bien la solution, et je souhaite que je pourrais choisissez deux réponses. Je préfère revbuffs tout simplement parce que de un, éventuellement, d'irrationnel, de sentiment, de volonté d'être en contrôle de ce qui se passe.

Je ferais en sorte de deviner que si j'ai eu accès à git depuis emacs, il pourrait probablement être gérée plus facile, mais actuellement, je préfère accès git via la ligne de commande. (Je n'ai pas tout à fait été à l'aide d'emacs assez longtemps pour faire mon système d'exploitation). Je vais enquêter magit un peu plus en détail.

Edit2:

J'ai été en utilisant magit depuis maintenant un an et la recommande fortement pour traiter avec git depuis emacs. Cependant je continue de l'utiliser revbuffs chaque fois que je fais un rebase à l'extérieur de emacs.

42voto

Pat Notz Points 46841

Peut-être aimeriez-vous le mode de retour automatique global. Essayez de lancer global-auto-revert-mode et si vous le souhaitez, vous pouvez ajouter (global-auto-revert-mode) à votre fichier ~ / .emacs.

18voto

scottfrazer Points 11035

Essayez le paquet revbufs:

http://www.neilvandyke.org/revbufs/

11voto

Alex Ott Points 14329

Le paquet Magit le fait automatiquement, lorsque vous activez magit-ionotify-mode (inotify nécessite emacs 24.4 sur linux). Sa description, vous pouvez trouver ici .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X