2009-08-18 3 views
3

저는 C# 프로젝트에서 Subversion을 사용하기 시작했습니다. 나는이 프로젝트를 혼자서하고있다. 그러나 나는 내가 나의 자신의 학습 경험을 위해 그룹에서 일하고있는 것처럼 취급하려고 노력하고있다.프로젝트에서 한 사람 만 작업하는 경우 Subversion에서 분기를 사용해야합니까?

내가 알고 있듯이 전복으로 작업하는 일반적인 방법은 항상 빌드 할 트렁크 폴더를 만드는 것입니다. 주요 변경 사항은 새 지점에서 작성되며, 완료되면 트렁크로 병합됩니다. 따라서 서로 다른 팀 구성원이 동시에 여러 분기를 처리 할 수 ​​있습니다.

하지만 제가 직접 작업하고 있다면 지점을 만드는 데 어떤 점이 있습니까? HEAD의 개정판 100에 있다고 가정 해보십시오. 리비전 101에 브랜치를 만들고 리비전 110까지 브랜치에서 계속 작업 할 것입니다. 이제 110을 트렁크에 다시 병합 할 수 있지만 프로젝트에 아무도 없으므로이 브랜치에 변경 사항이 없습니다. 트렁크가 다시 병합됩니다. 나는 원본을 어디에서 만들었는지에 대한 리비전 100으로 다시 합쳐 놓을 것입니다.

답변

10

분기는 프로젝트에서 몇 명의 사람들이 일하고 있는지와 관계가 없습니다. 지점은 다른 기능 세트, 하드웨어 대상 또는 클라이언트와 같은 대체 개발 스트림을위한 것입니다.

단일 공급 업체에서 100 명이 작업하는 경우 동일한 분기를 사용해야합니다. 한 개인이 12 개의 서로 다른 결과물을 지원한다면 그는 12 개의 가지를 가져야합니다.

+0

내 트렁크가 항상 작동하는 버전이 될 것이라고 생각했던 방식으로, 중요한 변화를 일으키고 일을 할 때 일반적으로 지점에서 일하게 될 것입니다.한 사람이기 때문에 공동 작업 문제에 대해 걱정할 필요가 없습니다.하지만 지점이 없으면 최신 작업 버전을 보여주고 싶을 때 특정 개정 번호로 다시 업데이트해야한다는 것을 기억해야합니다. 내가 지사에서 일하면 트렁크에서 항상 최신 개정판을 가져갈 수 있다는 것을 알고 있습니다. –

4

저는 분기가 항상 사용되어야한다고 생각합니다. 예를 들어 문제에 대해 멀리 가져온 솔루션을 시도해야 할 때와 같이 기본 코드에서 실제 코드를 분리해야합니다. 브랜치를 사용하면 문제와 해결 시도를 분리하고 버전 제어를 유지할 수 있습니다.

0

브랜치를 만드는 데 너무 많은 포인트가 보이지는 않습니다. 단지 프로젝트에서 작업하는 경우입니다. 다시 리비전을 롤백하면됩니다.

그러나 중요한 실험을하고 싶었지만 몇 가지 시도를하고 싶다면 지점을 사용하여 변경 사항을 격리하고 트렁크를 보존 할 수 있습니다.

이렇게 트렁크에서 완전히 작업 한 다음 릴리스 태그 또는 분기를 역사적인 목적으로 사용하고 실험 작업을 위해 다른 분기를 사용할 수 있습니다.

4

브랜치 (태그와 반대)는 코드의 유지 보수 가능 입니다. 단일 개발자 인 경우에도 두 가지 이상의 버전 코드 (예 : 버그 픽스를 이전 버전으로 마이그레이션)를 유지하고자 할 수 있습니다.
SVN 북은 SVN 지점 here의 두 가지 가장 일반적인 사용 사례를 나열합니다.
두 가지 방법의 분기 정책은 프로젝트의 개발자 수와 직접적인 관련이 없습니다.
단기 프로젝트 (예 : 학술, 단일 릴리스, 프로젝트)를 작성하지 않는 한이 정책 중 하나를 사용해보십시오. 관리 오버 헤드가 충분하지 않아 나중에 쉽게 인생을 보낼 수 있습니다.

0

프로덕션에 대한 빠른 수정 작업을 수행해야 할 때를 알지 못하기 때문에 개발 및 트렁크를 2 가지로 유지합니다. 제작에 이식하기 전에 1-3 주 동안 새로운 기능을 사용할 수 있습니다. 그 동안 수정본을 제작에 적용해야 할 수도 있습니다. 2 개의 지점을 유지함으로써 버그 수정을 쉽게 배포 할 수 있습니다.

관련 문제