일상 업무가 필요하지 않아도됩니다. 모든 사람들이 기본 소스 디렉토리의 파일들에 대해 작업하도록하십시오. 코드를 하위 디렉토리 (예 : "/ trunk")로 이동하면 루트에 다른 디렉토리 (예 : 브랜치 디렉토리)를 가질 수 있습니다.
개발할 때 충돌이 발생하지만 작고 쉽게 해결되어야합니다. 커밋은 가능한 한 작아야합니다. TortoiseSVN은 커밋 할 때 충돌을 해결하기위한 훌륭한 사용자 인터페이스를 제공합니다.
은이어야합니다. 두 개 이상의 개발자가 트렁크에 커밋 할 수없는 기능에 함께 작업하는 경우입니다 (예 : 다음 릴리스에서 출시 준비가되어 있지 않고 예정되어있는 경우). 최신 릴리스.
분기를 만들려면 응용 프로그램을 릴리스해야합니다.첫 번째 릴리스에 1.X라는 분기를 만듭니다. 그런 다음 트렁크에서 2.0을 향해 계속 작업하십시오. 1.X 지점에서는 1.0 릴리스를 구축 할 수 있으며 나중에 1.1 릴리스를 구축 할 수도 있습니다 (트렁크 2.0 작업을 방해하지 않고).
이 두 가지 유형의 차이점에 유의하십시오. 릴리스 분기는 트렁크에서 분기되어 영원히 살아납니다. 개별 버그 수정은 트렁크와 릴리스 분기간에 병합 될 수 있지만 릴리스 분기는 트렁크에 다시 병합되지 않습니다.
기능 분기에서 트렁크 변경 사항은 병합을 통해 계속 가져옵니다. 기능이 완료되면 전체 브랜치가 트렁크에 병합되고 브랜치는 사용되지 않습니다. 매일 매일의 개발을위한
Release branches __testing_1.X__..._rel_1.0___.._rel_1.1 ___2.X_branch_
/ /
___________trunk__________/_______trunk______________________________/____..
\ /
\_____really big feature for v2 only__________/
Feature branches
당신 할 수있는 당신이 원하는만큼 분기 사용. 한 가지 옵션은 기능 하나당 하나의 옵션이지만, 작은 팀에서 해결하는 것보다 더 많은 문제를 야기 할 수 있습니다. SVN에서 충돌을 해결하는 것은 일반적으로 여러 지점을 관리하고 많은 병합을 수행하는 것보다 훨씬 쉽습니다. 다른 버전 제어 시스템 (예 : 힘내)에서는 상황이 다릅니다.
Git 또는 Mercurial로 마이그레이션하기에 좋은시기입니다. –