이맥스는 말한다
마지막으로 버퍼를 읽거나 버퍼에 저장한 이후 디스크 파일이 변경된 버퍼를 수정하려고 합니다.
이 버퍼를 계속 수정 한다고 하면
y
파일을 다시 쓰는 사람의 작업이 망가질 수 있습니다. 복원을 원한다고 말하면r
버퍼의 내용이 디스크의 파일에서 플러시됩니다. 라고 말하면n
시작한 변경 사항이 중단됩니다.일반적으로 최신 버전의 파일을 가져온 다음 다시 변경하려면 을 입력
n
한 다음 을 입력 해야 합니다 .M-x revert-buffer
추천 이유
일반적으로 를 입력
n
한 다음 을 입력하여M-x revert-buffer
최신 버전의 파일을 가져온 다음 다시 변경해야 합니다.
대신에
복구 시
r
버퍼의 내용이 디스크의 파일에서 플러시됩니까?
둘은 정말 다른가요? 내가 보기엔 그것들도 똑같아 보이나요?
답변1
버퍼를 수정하고 싶습니다.디스크 파일이 변경됨마지막으로 읽거나 이 버퍼에 저장한 이후입니다.
이는 저장하기 전에 누군가가 현재 작업 중인 파일을 변경했음을 의미하며 그래픽적으로 다음과 같습니다.
— Current file on Disk
/
File-orig —
\
— Your saved buffer (*)
둘은 다를 수 있습니다. 이를 선택하면 r나중에 사용할 수 있도록 버퍼가 보호됩니다.디스크에서 다시 로드.
— Current file on Disk —
/ \
File-orig — — Current buffer (*)
\
— Your saved buffer
따라서 디스크에서 마지막으로 읽은 이후 파일에 적용된 변경 사항을 볼 수 있습니다.
r이제 then 을 실행하면 M-x revert-buffer다음과 같은 일이 발생합니다.
— File on Disk —
/ \
File-orig — — Buffer read from disk ——— (*) Applied your changes over the one on the disk
\ /
— Your saved buffer —————————————————————
바라보다!디스크에 적용된 변경 사항과 변경 사항이 이제 동일한 파일에 병합되어 모두 병합됩니다. Git을 알고 있다면 위 작업은 브랜치 병합과 유사할 것입니다.
선택만 하면 r변경 사항이 손실됩니다. 선택하면 y다른 사람이 변경한 내용이 손실됩니다. 이것이 권장되는 이유입니다.