2016-10-28 3 views
9

파일이 편집기 (예 : Sublime 또는 Atom)에서 열려 있고 파일이 편집기 외부에서 편집되면 편집기는 표시되는 파일을 항상 새로 고치는 것을 거부합니다. 대부분의 경우 특정 도구 모음을 사용하여 특정 시간대의 파일을 편집하기 때문에 이러한 상황은 거의 발생하지 않습니다. 이것은 파일이 읽기 전용 일 때 분명히 문제가되지 않습니다. 예를 들어, 시스템 오류 로그를 읽을 때 파일은 시스템이 실행 중일 때 업데이트되고 새로운 오류 로그가있을 수 있지만 충돌을 일으키지 않도록 로그 파일은 편집되지 않습니다.편집기가 자동으로 업데이트되지 않아 git pull 후에 우발적 인 덮어 쓰기를 방지하는 방법이 있습니까?

그러나 파일을 git pull으로 업데이트하면 문제가 발생합니다.

사람이 최신 업데이트를 가져 오면 업데이트에서 일부 변경 사항이 적용된 편집기에서 파일을 열었을 수 있습니다. 편집기가 파일을 새로 고치지 못하면 파일이 이전 내용으로 저장되고 새로운 변경 사항은 손실됩니다.

때때로 sourcetree를 사용하여 덩어리를 뒤집을 때 성가신 일이지만 때로는 파일 수가 업데이트되었을 때 오류가 발생할 때까지 그 겹쳐 쓰기가 서버에 알려지지 않을 수 있습니다. 현재 우리는 git log --follow -p -- file 명령을 사용하여 오류를 찾고 되돌 리지만 덮어 쓰기가 시간 내에 발견되지 않으면 선을 수동으로 복사해야합니다. 이런 종류의 덮어 쓰기를 방지하는 방법이 있습니까?

+0

내가 사용하게 될 해결책은 이런 식으로 행동하는 편집자를 떠나는 것입니다. 가장 현대적인 IDE (Eclipse, IntelliJ, NetBeans 등)에는이 문제가 없습니다. –

+0

PHP에 대한 옵션이 있습니까? (그리고 무료 인 것이 더 낫기 때문에 PHPStorm은 옵션이 아닙니다.) – cytsunny

+0

IntelliJ에서도 몇 번이나 이런 일이 일어나는 것을 보았습니다.하지만 걱정할 정도로 큰 문제는 아니 었습니다. 나는 이것을 피할 PHP 용 에디터를 모른다. Notepad ++는이 영역에서 매우 잘 작동하는 것 같습니다. 즉, 업데이트를 먹지 않습니다. –

답변

4

편집자 (주로 팀의 서브 리드 또는 아톰)가 폴더를 열고 편집기 외부에서 코드를 편집하면 편집기의 내용이 새로 고쳐 지기도하지만 때로는 그렇지 않습니다.

이 편집기 외부의 변경이 감지되면 각 파일을 다시로드하라는 메시지가이 문제를 완화 도움이 될 file-watcher처럼 Atom issue 3594

원자 패키지에 설명되어 정확히 무엇이다.

SublimeText에 동일한 문제가 발생했습니다. reported in this thread that thread에서 언급했듯이이 문제는 네트워크 공유를 통해 파일에 액세스 할 때 Windows와 더욱 관련이 있습니다.
File Reloader은 도움을 줄 수 있지만 외부 변경을 감지하지 못합니다.

SublimeText thread

는 설정 (2016)

{ "always_prompt_for_file_reload": true } 

을 언급하지만, 에디터 및 저장된 파일에 모두 변화가있을 때 도움이되지 않을 수 있습니다

:는 editor like Visual Studio Code는 이것을 해결 VSCode를 사용하여 파일을 저장하려고 시도했을 때 (디스크와 편집기를 통해) 양쪽에 변경 사항이 있으면 편집기에서 해당 상황에 대해 경고하고 파일 비교를 통해 수행 할 작업을 결정할 수 있습니다. SublimeText과 함께합니다 ("always_prompt_for_file_reload" 설정에 추가로), 당신은 FileDiff plugin를 필요한 이유입니다

.
은 저장과 파일 diffing의 허용 않습니다 : 첫 번째 장소에서 덮어 쓰기의이 종류를 방지하는 방법이

https://forum.sublimetext.com/uploads/default/original/3X/5/a/5a59f922e26fea423cc31ae5c1d744eca8205143.png

1

있습니까?

예, 편집자가 파일 시스템의 중단으로 감지를하지 못하고 파일 시스템을 매 3 초마다 주기적으로 폴링하여 수행하지 못했습니다.

이 메모장에서 프로그래밍 할 때 ++ 오류는 매우 분명합니다. 따라서 파일 시스템에서 주기적으로 파일 변경 사항을 확인하는 폴링 플러그인이 반드시 필요합니다. Sublime TextNotepad++를 들어

, 플러그인은 다음과 같습니다

  1. https://packagecontrol.io/packages/Auto%20Refresh
  2. https://superuser.com/a/592913/458103

내가 오랜 시간을 사용 (문서 모니터 =>을 모니터링하기 시작)으로 인해 여러 텍스트 편집기/IDE에서 같은 파일로 프로그램 할 수 있습니다. 그런 다음 편집기를 번갈아 사용할 때 파일 시스템에서 파일을 다시로드하지 않기 때문에 대부분 시간을 낭비하게됩니다. 그러나 언급 된 플러그인을 설치 한 후에, 나는이 문제에 다시 한번 직면하거나 정기적 인 재로드로 인해 성능 문제를 발견하지 못했습니다.