2012-08-14 5 views
0

웹 서버에 대한 명령 줄 액세스 권한이 없지만 cPanel을 통해 Subversion을 활성화 할 수 있었고 저장소에 액세스 할 수있었습니다.Subversion 정밀도

내 목표는 하드 드라이브에 내 웹 사이트의 오프라인 복사본을 만들어 파일을 빠르게 추가하거나 편집하고 결과를 게시 할 수있게하는 것입니다. Subversion이 실제로 이것을 할 수 있습니까?

지금 당장 일부 파일을 내 저장소에 업로드 했으므로 내 FTP에서 아무 것도 볼 수 없기 때문에 정상입니까? 이 작업을 수행하는 더 간단한 방법이 있습니까?

이미 내 FTP를 볼륨으로 마운트하려고했지만 파일을 탐색하는 것이 너무 느리고 실수로 되돌릴 수는 없습니다. 본질에서

+1

사실 그것은 서버에 '공식'상태를 안전하게 유지하면서 전속력을 행사할 지역 복사본을 제공합니다. 당신이 찾고있는 것은 '체크 아웃'입니다. '저 지르다'는 또 다른 단계가 필요합니다. Commit은 SVN 저장소로 데이터를 전송합니다. 'Go live'를하기 위해해야 ​​할 일은 서버 폴더에 체크 아웃 된 작업 카피에서 'Update'를 실행하는 것입니다.명령 줄에서 웹 서버에 액세스 할 수 없기 때문에 업데이트 루틴을 호출하는 PHP 스크립트를 작성하는 것이 좋습니다. – ATaylor

+0

PHP 스크립트 부분을 보내 주셔서 감사합니다. 그러나 저장소에 연결할 때 빈 폴더가 표시됩니다. 나는 내 FTP 파일을 볼 것이라고 생각했다. 하지만 그것이 작동해야하는 방식이 아닙니다. 맞습니까? 대신 코드의 3 가지 버전이 있어야합니다 : 공용 버전, 하나는 하드 드라이브, 리포지토리 버전입니다. 한 번 저장소에 수정 사항을 업로드하면 라이브 버전이 스크립트의 도움을 받아 저장소와 동기화되어야합니까? –

+0

나는 대답을 조금 철자했다. 더 많은 도움이 필요하면 자유롭게 나에게 큰 소리로 말하십시오. 아 그리고 네가 맞아. 그것은 그것의 요지입니다. – ATaylor

답변

0

는, Subversion은 다음과 같이 작동

  1. 서버는 변경된 파일에 탭을 유지하고 고도로 압축 된 형태로 이러한 변화의 역사를 유지합니다. 이 양식에서는 직접 파일을 사용할 수 없습니다.

  2. 클라이언트는 기본적으로 현재 파일의 오프라인 복사본 인 '작업 복사본'을 '체크 아웃'합니다. 이 파일에서 수행하는 작업은 다른 작업 사본이나 서버에서 아무런 효과가 없습니다.

  3. 클라이언트가 서버에 대한 작업 복사본에 변경 한 내용을 '커밋'합니다. 다른 모든 클라이언트는 현재 작업 복사본을 '업데이트'하여 최신 상태를 얻을 수 있습니다.

    1. 체크 아웃 모두 로컬 컴퓨터로 작업 사본뿐만 아니라, 서버의 웹 폴더 :

    은 당신이 원하는 것은 다음이다. 서버의 작업 사본은 '라이브'입니다.

  4. 로컬 컴퓨터의 WC에서 작업 할 때까지 작업하는 것이 좋습니다.

  5. 모든 것이 끝나고 물건을 게시하려면 웹 폴더에서 '업데이트'를 실행하고 모든 변경 사항을 해당 폴더로 전송합니다. 웹 폴더. 변경 사항은 이제 '라이브'입니다.

원격 시스템에서 명령 줄 액세스 권한이 없으므로 약간의 문제가 있습니다. svn update를 실행하는 것은 문제가된다. 그러나 PHP는 여기에 구출 온다.

http://php.net/manual/en/book.svn.php PHP에 대한 SVN 애드온이 있습니다. PHP와 함께 설치되어 있고 (PHP를 통해 업로드) 스크립트를 작성한 다음 스크립트를 호출하도록 변경하십시오 대신 '업데이트'.

조금 도움이 되었기를 바랍니다.