우선, 나는 결코 svn을 선택하지 않을 것입니다. 몇 가지 경우가있을 수 있지만 일반적으로 git는 훨씬 유연합니다.
그렇다면 연속 배달 (CD)에 대해 살펴 보겠습니다. 내 관점에서 볼 때, 이것은 자주 전개하는 것을 의미합니다. 또한 테스트를 실행하고 버전이 제공되는지 여부를 결정할 수있는 일종의 지속적인 통합 (CI)이 필요하다는 것을 의미합니다. 또한 어떤 버전의 테스트 및 출하를 결정할 지에 대한 워크 플로가 필요하다는 것을 의미합니다.
svn 일 뒤로, 우리는 문제가 있기 때문에 어떤 가지도 가지지 않았다. 모든 사람이 저장소에 들어가서 모든 책임을 맡고있는 누군가가 저장소의 버전을 사용하여 모든 것이 정상적으로 작동하는지 확인합니다.
적어도 하나의 안정된 브랜치가 있어야하기 때문에 이것은 CD로는 작동하지 않습니다. 이 지점은 프로덕션에 들어가는 소프트웨어의 안정적인 릴리스로만 채워 져야합니다. 또한 기능을 병합하여 테스트 할 준비가 된 테스트 분기가 필요합니다. 그리고 아직 준비되지 않은 기능이있는 개발 지점이 필요합니다.
실수하지 마십시오. svn을 사용하여 CD를 할 수 있습니다. svn은 모든 사람이 커밋 할 수있는 단일 저장소로 작동하도록 설계된 반면, 다른 여러 서버의 여러 저장소와 원격 저장소에서 제대로 작동하도록 설계되었습니다.
사용자 관리에 문제가 발생할 수도 있습니다. 나는 svn에 대해 몰라,하지만 당신이 다른 지점에 대해 다른 권한을 가질 수 없다고 생각합니다. 즉, 저장소에 대한 쓰기 권한이있는 모든 사용자가 애플리케이션을 중단하고이 항목을 배포 할 수 있습니다. 반면에 수석 개발자 만이 쓰기 권한을 갖고 배포되는 저장소를 쉽게 설정할 수 있습니다. 다른 모든 개발자는 다른 원격 저장소에서 작업합니다. 그러면 담당자가 모든 물건을 가져와 다른 서버로 밀어 넣어 배포합니다.
이 모든 사실은 git가 정기적으로 병합되고, 분기되고, 분기되고 패치되는 많은 저장소 (오픈 소스 프로젝트)를 갖도록 설계 되었기 때문입니다. 다른 한편, svn은 파일을 버전 화하고 다른 버전의 소프트웨어에 대해 하나 또는 두 개의 지점이 있어야하는 회사 소프트웨어의 역할을합니다.
마지막 사항 : 나는 매일 svn을 통해 자식을 선택합니다.
이 질문에 적합하지 않은 것 같습니다. 인터넷 검색으로 수십 (수백 가지는 아닐지라도) 주제에 대한 토론을 찾을 수 있습니다. [FAQ] (http://stackoverflow.com/faq#dontask)에 따르면 : * 실제 문제를 토대로 실용적이고 답을 묻는 질문 만하면됩니다. 깔끔하고 개방적인 질문은 사이트의 유용성을 떨어 뜨리고 다른 질문을 맨 앞 페이지로 밀어 넣습니다 *. –
질문에 대한 좋은 토론이없는 것 같습니다, 모든 논쟁은 svn VS git입니다.하지만 CI와 CD의 경우 적절한 답이 아닙니다. 당신은 "git svn 지속적인 통합 전달"에 대한 구글 수 있습니다, 최고의 게시물이 하나입니다. – welkinwalker
나는 git이 그 자체로 더 많은 기회를 제공한다고 생각한다. 이론적으로. 실질적으로 프로세스에 동의하고 워크 플로에 대한 통합 된 도구 체인을 설정해야합니다. 후자는 나를 괴롭 히고있다. 당신이 github에 있지 않다면 설치하기가 너무 복잡 할 것이다. –