공유 드라이브와의 동기화를 개선해 보세요

공유 드라이브와의 동기화를 개선해 보세요

간단한 질문이죠? 그냥 나랑 같이 알몸으로 있어..

저는 보통 Git을 사용하여 로컬 컴퓨터의 파일 작업을 합니다. 나는 나중에 Git이 아닌 다른 사용자가 사용할 수 있도록 공유 드라이브에서 파일을 볼 수 있기 때문에 이 접근 방식을 좋아합니다. 로컬 디렉터리의 파일을 삭제(정리)하고 원격으로 정리할 수 있어서 좋습니다. 모든 추가 파일을 원격 디렉토리에 보관할 수 있습니다. 이 행동은 내가 단순히 rsync...

내가 가진 유일한 문제는 열린 파일을 처리하는 것입니다. Git이 중지되거나 pull변경 reset해야 하는 잠긴 파일이 발견되면 중지됩니다. 이게 정말 쇼인가요? 파일을 매우 빨리 가져와야 할 수도 있고 프로세스를 차단하는 관련 없는 열린 파일을 찾는 것이 비생산적이라는 것을 알게 될 수도 있습니다.

이 프로세스를 개선하는 데 도움을 주실 수 있나요?

참고: 타임스탬프가 변경된 경우 파일을 업데이트하는 것만으로도 충분합니다. 하지만 증분 백업이 부정적인 영향을 받지 않도록 변경된 파일만 업데이트하고 싶습니다.

물론 흔한 일이 아니므로 홍보하지는 않겠습니다. 하지만 그 혜택은 여전히 ​​나에게 좋습니다. 이를 통해 네트워크 중단과 관계없이 로컬 파일에 빠르게 액세스하고 기본적으로 원활하게 백업 드라이브에 게시할 수 있습니다. 자주 체크인하여 변경 사항이 백업되었는지 확인해야 합니다. git이 아닌 다른 파일 및 공유 드라이브의 사용자와 잘 작동합니다. Rsync는 단순히 "정리" 때문에 부족합니다. 다른 사용자 파일을 삭제하지 않고는 --delete청소할 수 없습니다. 수동 정리는 사소해 보일 수 있지만 정리에는 오류가 발생하기 쉽고 테스트가 필요하기 때문에 정말 큰 문제입니다.

답변1

해결책이 없다는 것은 아닙니다(비록 그것이 무엇인지는 모르지만). "이것은 일반적인 작업임에 틀림없습니다" - 아마도 그렇지 않을 것입니다. 왜냐하면의도된 목적 이외의 목적으로 이 도구를 사용하는 경우.

git파일 시스템 동기화 데몬 등이 아닌 버전 제어 시스템입니다. VCS 작업을 수행하는 사람들은 업데이트가 준비되었는지 확인하지 않고 서버의 항목을 업데이트하려고 서두르지 않으므로(희망합니다), 무언가 분명히 간과되어 실패하더라도 화를 낼 가능성이 적습니다. 변경해야 할 파일" - 필요한 사항을 변경한 다음 커밋합니다.

즉, 대부분의 git 사용자는 아마도이 문제에 대한 해결책이 없기를 바랍니다.- 사용자 친화적인 기능입니다.

답변2

가장 쉬운 방법: 헤드리스 Dropbox.

최고: 네트워크 파일 공유(SMB 또는 NFS)

Sledgehammer(아마도 이상적이지 않음): Capistrano 배포 스타일. 주요 요점은 디렉토리 구조가 있다는 것입니다.

---syncdirectory
   |
   -----current----symlink         
   |                      |
   -----releases          |
           |              |
           -----releaseA--|
           |
           -----releaseB
           |
           -----releaseC

기본적으로 각 git 배포는 새 릴리스 디렉터리를 생성한 다음 심볼릭 링크가 "현재" 디렉터리로 롤오버됩니다. 열려는 파일은 영향을 받지 않습니다. 단, 해당 파일에 대한 변경 사항은 현재 릴리스 B에 남아 있습니다. releaseC보다 오래된 모든 항목을 삭제할 수 있으며 디렉터리는 항상 "새" 버전이 됩니다.

관련 정보