라이브 사이트에 /.svn/ 폴더가있는 것이 안전합니까? (제거하고 svn 업데이트 기능을 유지하는 방법은 무엇입니까?) 업데이트하기 위해 svn 업데이트를 수행하고 있지만 .svn/폴더를

내 PHP 웹 사이트의 코드를 업데이트하기 위해 svn 업데이트를 수행하고 있지만 .svn/폴더를 완전히 남겨 둡니다 .

파일을 공개적으로 읽을 수있게하는 것은 위험하지만 시스템을 업데이트하기는 매우 쉽다고 생각합니다.

svn update시스템을 업데이트하는 데 사용 하지만 .svn/폴더 를 내 보내지 않는 방법이 있습니까?



답변

아파치를 사용하는 경우 :

<Directory ~ "\.svn">
    Order allow,deny
    Deny from all
</Directory>

그러면 사람들이 .svn원격으로 (브라우저를 사용하여) 디렉토리에 액세스하지 못하지만 프로젝트에서 계속 유지하고 (및 svn 기능) 할 수 있습니다.

BTW 당신은 대체 할 수 있습니다 \.svn위해 \.git또는 \.cvs당신이 전복과 다른 뭔가를 사용하는 경우.


답변

.svn 폴더에 대한 액세스를 거부하도록 아파치 구성을 변경해야합니다. 이 스레드는 더 많은 정보를 가지고 있습니다 https : //.com/questions/398008/deny-access-to-svn-folders-on-apache


답변

SVN에서 라이브 사이트로 코드를 내보내려고합니다 …

그것을 사용하지 마십시오 svn update. 업데이트는 코드를 내 보내지 않고 작업 복사본을 업데이트하는 데 사용됩니다. svn export지정된 저장소에서 클린 디렉토리 트리를 내보낼 때 대신 사용하십시오 .

--force플래그를 사용하면 내보내기에서 기존 파일을 덮어 쓸 수 있습니다.

SVN 내보내기 수동 입력


답변

프로덕션 / 라이브 사이트에는 넣지 않습니다. Coz 나는 라이브 코드를 편집하는 것이 나쁜 생각을 잊어 버린 나와 다른 개발자를 원하지 않습니다. 설치 스크립트가 .svn 파일을 필터링합니다.


답변

Capistrano 와 같은 적절한 배치 시스템을 조사해야합니다 . 즉, 프로덕션 서버에는 하위 버전이 필요하지 않으며 여러 서버에 배포하고 배포에 사용자 지정 논리를 추가 할 수 있습니다. 또한 배포를 비교적 쉽게 롤백 할 수 있습니다.


답변