svn - 태그 - 서브버전




지점을 어떻게 만듭니 까? (6)

SVN에서 분기를 작성하는 방법


Subversion의 분기는 매우 가볍고 효율적인 복사 기능으로 촉진됩니다.

분기 및 태그 지정은 사실상 동일합니다. svn copy 명령을 사용하여 저장소의 전체 폴더를 저장소의 다른 위치로 svn copy .

기본적으로 이것은 백업, 태그, 브랜치 등 무엇이든 폴더 복사가 의미하는 것이 관례에 따른다는 것을 의미합니다. 사물에 대해 어떻게 생각하고 싶은가에 따라 (일반적으로 과거에 사용한 SCM 도구에 따라) 스타일을 지원하기 위해 저장소 내에 폴더 구조를 설정해야합니다.

일반적인 스타일은 저장소 상단에 tags , branches , trunk 등의 여러 폴더를 갖는 것입니다.이를 통해 전체 trunk (또는 하위 세트)를 tags 및 / 또는 branches 폴더에 복사 할 수 있습니다. 둘 이상의 프로젝트가있는 경우 각 프로젝트에서 이러한 종류의 구조를 복제 할 수 있습니다.

개념에 익숙해지는 데 시간이 걸릴 수 있지만 작동합니다. 사용하려는 규칙에 대해 명확하게 확인하십시오. 분기 / 태그가 작성된 이유와 여전히 적절한 지 여부를 알려주는 이름 지정 규칙을 사용하는 것이 좋습니다. 더 이상 사용되지 않는 분기를 아카이브하는 방법을 고려하십시오.


https를 통해 repo를 사용할 수있는 경우이 명령을 사용하여 분기 할 수 있습니다.

svn copy https://host.example.com/repos/project/trunk \
       https://host.example.com/repos/project/branches/branch-name \
  -m "Creating a branch of project"

브랜치 병합을 계획하고 있다면 다음을 살펴보십시오.

Svnmerge.py

Subversion 1.5가 더 많은 병합 추적을 빌드한다고 들었지만 그 경험이 없습니다. 내 프로젝트는 1.4.x에 있고 svnmerge.py는 생명의 은인입니다!


새로운 SVN 사용자를위한 팁; 올바른 URL을 빨리 얻는 데 도움이 될 수 있습니다.

svn info 를 실행하여 현재 체크 아웃 된 분기에 대한 유용한 svn info 를 표시하십시오.

루트 폴더에서 svn을 실행하는 경우 URL은 복사해야 할 URL을 제공해야합니다.

또한 새로 작성된 분기로 svn switch 하려면 svn switch 명령을 사용하십시오.

svn switch http://my.repo.url/myrepo/branches/newBranchName

트렁크 이름에서 분기를 만들고 ( "TEST") 다음을 사용한다고 가정합니다.

svn cp -m "CREATE BRANCH TEST" $svn_url/trunk $svn_url/branches/TEST

svn cp /trunk/ /branch/NEW_Branch

트렁크에 로컬 변경 사항이있는 경우 Rsync 를 사용하여 변경 사항을 동기화하십시오.

rsync -r -v -p --exclude ".svn" /trunk/ /branch/NEW_Branch




branching-and-merging