2012-06-20 2 views
2

나는 "SVN 대 힘내"의 주제에 많은 따옴표를 보았다는 일반적으로 anwser는Git은 SCM 뷰에서 지속적인 전달 (통합)에 긍정적 인 영향을 미칩니 까?

  1. 당신이 공간
  2. 지점 빠른

저장 어디서나

  • 커밋 할 수있다 ...

    하지만 여기서 나는 지속적인 배송이 좋은지에 대한 토론을 원합니다. Git은 우리가 자주 출퇴근을하도록 권장하지만, 지속적인 전달이라는 개념에 반대하는 작업은 본편에 자주 병합됩니다.

    그래서 우리의 지속적인 배달, 힘내 또는 SVN에 대한 버전 제어 시스템을 선택하려면 약간의 의아해?

    귀하의 의견은 무엇입니까?

  • +0

    이 질문에 적합하지 않은 것 같습니다. 인터넷 검색으로 수십 (수백 가지는 아닐지라도) 주제에 대한 토론을 찾을 수 있습니다. [FAQ] (http://stackoverflow.com/faq#dontask)에 따르면 : * 실제 문제를 토대로 실용적이고 답을 묻는 질문 만하면됩니다. 깔끔하고 개방적인 질문은 사이트의 유용성을 떨어 뜨리고 다른 질문을 맨 앞 페이지로 밀어 넣습니다 *. –

    +0

    질문에 대한 좋은 토론이없는 것 같습니다, 모든 논쟁은 svn VS git입니다.하지만 CI와 CD의 경우 적절한 답이 아닙니다. 당신은 "git svn 지속적인 통합 전달"에 대한 구글 수 있습니다, 최고의 게시물이 하나입니다. – welkinwalker

    +0

    나는 git이 그 자체로 더 많은 기회를 제공한다고 생각한다. 이론적으로. 실질적으로 프로세스에 동의하고 워크 플로에 대한 통합 된 도구 체인을 설정해야합니다. 후자는 나를 괴롭 히고있다. 당신이 github에 있지 않다면 설치하기가 너무 복잡 할 것이다. –

    답변

    0

    나는 ..

    Why is Git better than Subversion? 나는 당신이 선택해야하는 하나의 알 수도 후에 생각 ..이 링크를보세요/w 자식과 SVN b를 차이를 이해 1에 당신이 생각

    0

    우선, 나는 결코 svn을 선택하지 않을 것입니다. 몇 가지 경우가있을 수 있지만 일반적으로 git는 훨씬 유연합니다.

    그렇다면 연속 배달 (CD)에 대해 살펴 보겠습니다. 내 관점에서 볼 때, 이것은 자주 전개하는 것을 의미합니다. 또한 테스트를 실행하고 버전이 제공되는지 여부를 결정할 수있는 일종의 지속적인 통합 (CI)이 필요하다는 것을 의미합니다. 또한 어떤 버전의 테스트 및 출하를 결정할 지에 대한 워크 플로가 필요하다는 것을 의미합니다.

    svn 일 뒤로, 우리는 문제가 있기 때문에 어떤 가지도 가지지 않았다. 모든 사람이 저장소에 들어가서 모든 책임을 맡고있는 누군가가 저장소의 버전을 사용하여 모든 것이 정상적으로 작동하는지 확인합니다.

    적어도 하나의 안정된 브랜치가 있어야하기 때문에 이것은 CD로는 작동하지 않습니다. 이 지점은 프로덕션에 들어가는 소프트웨어의 안정적인 릴리스로만 채워 져야합니다. 또한 기능을 병합하여 테스트 할 준비가 된 테스트 분기가 필요합니다. 그리고 아직 준비되지 않은 기능이있는 개발 지점이 필요합니다.

    실수하지 마십시오. svn을 사용하여 CD를 할 수 있습니다. svn은 모든 사람이 커밋 할 수있는 단일 저장소로 작동하도록 설계된 반면, 다른 여러 서버의 여러 저장소와 원격 저장소에서 제대로 작동하도록 설계되었습니다.

    사용자 관리에 문제가 발생할 수도 있습니다. 나는 svn에 대해 몰라,하지만 당신이 다른 지점에 대해 다른 권한을 가질 수 없다고 생각합니다. 즉, 저장소에 대한 쓰기 권한이있는 모든 사용자가 애플리케이션을 중단하고이 항목을 배포 할 수 있습니다. 반면에 수석 개발자 만이 쓰기 권한을 갖고 배포되는 저장소를 쉽게 설정할 수 있습니다. 다른 모든 개발자는 다른 원격 저장소에서 작업합니다. 그러면 담당자가 모든 물건을 가져와 다른 서버로 밀어 넣어 배포합니다.

    이 모든 사실은 git가 정기적으로 병합되고, 분기되고, 분기되고 패치되는 많은 저장소 (오픈 소스 프로젝트)를 갖도록 설계 되었기 때문입니다. 다른 한편, svn은 파일을 버전 화하고 다른 버전의 소프트웨어에 대해 하나 또는 두 개의 지점이 있어야하는 회사 소프트웨어의 역할을합니다.

    마지막 사항 : 나는 매일 svn을 통해 자식을 선택합니다.

    0

    워크 플로우가 정확하다면 Subversion이나 Git에 관계없이 괜찮을 것입니다. 각 버전 제어 시스템은 지점을 지원하고 일부 사람들은 잔디를 한쪽 또는 다른 쪽에서 더 푸르게 생각하지만 실제로 버전 제어는 필수품입니다.

    일반적으로 응용 프로그램 수명주기 관리 (연속 통합과 같은)라고하는 버전 제어 시스템에 대한 인프라의 경우보다 중요한 목표는 버전 제어 시스템을 다른 퍼즐 조각과 통합하는 데 사용되는 도구의 성숙도입니다. IDE의 긴밀한 통합은 개발자의 시간을 가능한 한 생산적으로 만드는 데에도 좋습니다.

    많은 Git 열혈자가 포럼에서 활동적으로 활동하고 있지만 Subversion에는 가장 인기있는 버전 제어 시스템이 있으며 그 이유가 있습니다. 나는 무신론자로하지만 수사는이 부분을 읽어보십시오 "안됐다 SVN"의 일부에 대응하기 위해 시도 : http://steveko.wordpress.com/2012/02/24/10-things-i-hate-about-git/

    +0

    예, 지속적인 배송은 공구 선택보다 더 많은 징계임을 인정합니다. SVN은 성숙한 것입니다. Git은 성숙기에 접어 들고 있습니다. – welkinwalker

    +0

    DVCS를 사용하면 로컬 레포, 동료 레포 또는 동료와 작업 할 때 개발자에게 달려 있기 때문에 많은 기업이 지속적인 통합을 위해 중앙 서버를 선호합니다. '메인'저장소. 중앙 서버를 사용하면 모든 커밋이 연속 통합 도구에서 수행 할 수 있고 DVCS를 사용하면 프로세스를 따르는 개별 기여자에게 의존해야한다는 것을 확신 할 수 있습니다. – vinnyjames

    0

    귀하의 관심은 유효합니다. 기능을 많은 사람들이 연관 DVCSs이 분기 만 http://martinfowler.com/bliki/FeatureBranch.html

    에서, 그들은 CI와 함께 사용할 수 있습니다. 하나의 브랜치를 하나의 저장소에 표시하기 만하면됩니다. 모두가 일마다 그걸 끌어 당기면 CI 본선이 생깁니다. 실제로 훈련 된 팀을 통해 I 은 일반적으로 CI 프로젝트에서 DVCS를 중앙 집중식 것보다 사용하는 것을 선호합니다. 덜 훈련 된 팀과 함께 나는 DVCS가 의 사람들을 오랫동안 살았던 브랜치쪽으로 밀어 붙일 것을 걱정할 것이고, 중앙 집중식 VCS와 브랜치를 꺼리는 사람들은 빈번한 메인 라인 커밋으로 그들을 움직일 것이다.

    관련 문제