Git에서 브랜치를 전환할 때 Emacs가 변경되지 않은 모든 버퍼를 되돌리도록 하려면 어떻게 해야 합니까?

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

  •  21-08-2019
  •  | 
  •  

문제

종종 git에서 브랜치를 전환할 때 파일이 emacs에 열려 있으면 emacs는 내용이 동일하더라도 파일을 되돌릴 것인지(디스크에서 변경된 것으로 생각하므로) 묻습니다.

먼저 나는 디스크의 내용이 버퍼의 내용과 동일한지에 대해 emacs가 나에게 전혀 묻지 않는 방법을 찾고 싶습니다.

두 번째로 나는 저장되지 않은 변경 사항이 없는 모든 열린 버퍼를 쿼리 없이 되돌리고(쿼리 없이) 저장되지 않은 변경 사항이 있는 버퍼에 대해 쿼리하는 명령을 원합니다.

또는 제가 시도해 볼 수 있는 다른 솔루션, 작업 방식 등에 대한 제안을 받을 수 있습니다.사람들이 어디서부터 시작해야 할지 조언을 해줄 수 있다면 나는 emacs-lisp를 작성하는 것이 매우 기쁩니다.

추신: 저는 OSX에서 Aquamacs를 사용하고 있습니다.

편집하다:

글쎄, 나는 revbuffs 패키지가 나에게 거의 필요한 것임을 발견했습니다.확실히 내가 새로운 것을 직접 작성하려고 시도하는 것을 멈추기에 충분했습니다.(저는 revbuff를 Cmd-R에 매핑했는데 꽤 잘 작동합니다.다른 Mac 앱의 Cmd-R과 유사합니다.

전역 자동 복귀 모드는 완벽하게 훌륭한 솔루션이었을 것이며 두 가지 답변을 선택할 수 있었으면 좋겠습니다.나는 단지 무슨 일이 일어나는지 통제하고 싶은 비합리적일 수도 있는 느낌 때문에 레브버프를 선호합니다.

나는 emacs 내에서 git에 액세스하면 아마도 더 쉽게 처리할 수 있을 것이라고 추측했지만 현재는 명령줄을 통해 git에 액세스하는 것을 선호합니다.(저는 Emacs를 운영 체제로 삼을 만큼 오랫동안 사용해 본 적이 없습니다.)그래도 좀 더 철저하게 magit을 조사하겠습니다.

편집2:

나는 1년 동안 magit를 사용해 왔으며 emacs 내에서 git을 처리하는 데 강력히 추천할 수 있습니다.그러나 나는 emacs 외부에서 리베이스를 수행할 때마다 여전히 revbuff를 사용합니다.

도움이 되었습니까?

해결책

시도해 보세요 revbufs 패키지:

revbufs.el Emacs와 외부 도구(예: 코드 생성기 등)를 통해 파일을 편집할 때 버퍼를 안전하게 되돌리는 작은 Emacs 패키지입니다. 좀툴)...

다른 팁

아마도 전역 자동 복귀 모드를 원할 것입니다.달리기를 해보세요 global-auto-revert-mode 그리고 마음에 들면 추가해도 돼요 (global-auto-revert-mode) ~/.emacs 파일에.

Magit 패키지를 활성화하면 이 작업이 자동으로 수행됩니다. magit-ionotify-mode (inotify는 Linux에서 emacs 24.4가 필요합니다).찾을 수 있는 설명 여기.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top