문제

SVN에서 브랜치를 어떻게 만듭니까?

도움이 되었습니까?

해결책

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

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

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

일반적인 스타일은 저장소 상단에 다음과 같은 폴더를 두는 것입니다. tags, branches, trunk, 등.- 전체 내용을 복사할 수 있습니다. trunk (또는 하위 집합)을 tags 및/또는 branches 폴더.프로젝트가 두 개 이상인 경우 각 프로젝트 아래에 이러한 종류의 구조를 복제할 수 있습니다.

개념에 익숙해지는 데 시간이 걸릴 수 있지만 효과가 있습니다. 귀하(및 귀하의 팀)가 사용할 규칙을 명확히 알고 있는지 확인하십시오.좋은 명명 규칙(브랜치/태그가 만들어진 이유와 그것이 여전히 적절한지 여부를 알려주는 것)을 갖는 것도 좋은 생각입니다. 더 이상 사용되지 않는 브랜치를 보관하는 방법을 고려하십시오.

다른 팁

다음을 사용하여 새 분기를 만듭니다. svn copy 다음과 같이 명령합니다:

$ svn copy svn+ssh://host.example.com/repos/project/trunk \
           svn+ssh://host.example.com/repos/project/branches/NAME_OF_BRANCH \
      -m "Creating a branch of project"

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

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

트렁크에 로컬 변경 사항이 있으면 다음을 사용하십시오. Rsync 변경 사항을 동기화하려면

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

일반적으로 저장소에 여러 분기를 유지할 수 있도록 svn+ssh://host.example.com/repos/project/branches/mybranch에 복사하지만 구문은 유효합니다.

여기에 대한 몇 가지 조언이 있습니다. 저장소 레이아웃을 설정하는 방법.

트렁크 이름 ( "테스트")에서 분기를 생성하고 다음을 사용한다고 가정 해보십시오.

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

브랜치를 병합할 계획이라면 다음을 살펴보는 것이 좋습니다.

Svnmerge.py

Subversion 1.5에서는 병합 추적 기능이 더 많이 구축되었다고 들었습니다. 이에 대한 경험은 없습니다.내 프로젝트는 1.4.x에 있으며 svnmerge.py는 생명의 은인입니다!

신규 SVN 사용자를 위한 최고의 팁;이는 올바른 URL을 빠르게 얻는 데 약간의 도움이 될 수 있습니다.

달리다 svn info 현재 체크아웃된 분기에 대한 유용한 정보를 표시합니다.

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

또한 새로 생성된 분기로 전환하려면 다음을 사용하세요. svn switch 명령:

svn switch http://my.repo.url/myrepo/branches/newBranchName
  • 현재 프로젝트 외부에 새 폴더를 만듭니다.어떤 이름이라도 지정할 수 있습니다.(예:"Customization"이라는 프로젝트에 대한 체크아웃이 있습니다.그리고 "Project1", "Project2"와 같은 많은 프로젝트가 있습니다....그리고 "Project1"의 분기를 만들고 싶습니다.따라서 먼저 "Customization"을 열고 마우스 오른쪽 버튼을 클릭하여 새 폴더를 만들고 이름을 "Project1Branch"로 지정합니다.
  • "Myproject1"....TortoiseSVN -> 분기/태그를 마우스 오른쪽 버튼으로 클릭합니다.
  • 작업 사본을 선택하십시오.
  • 브라우저 열기...."To URL"과 평행하게 바로 오른쪽에 있습니다.
  • 사용자 정의를 선택하고... 마우스 오른쪽 버튼을 클릭한 다음 폴더 추가를 클릭합니다.그리고 생성된 폴더를 살펴보세요.여기는 "Project1Branch"입니다.이제 확인 버튼을 클릭하여 추가하세요.
  • 이 새로운 Banch를 확인해 보세요.
  • 생성하려는 브랜치를 프로젝트로 다시 이동하세요.TorotoiseSVN -> 분기/태그를 마우스 오른쪽 버튼으로 클릭합니다.그런 다음 작업 복사본을 선택합니다.그리고 URL을 지점 이름으로 지정할 수 있습니다.{귀하의 IP 주소/svn/AAAA/Customization/Project1Branch}와 같습니다.그리고 URL에 이름을 설정하면 이 이름으로만 폴더가 생성됩니다.{귀하의 IP 주소/svn/AAAA/Customization/Project1Branch/MyProject1Branch}와 같습니다.
  • 확인 버튼을 누르세요.이제 로그를 볼 수 있습니다. 작업 복사본이 지점에 저장됩니다.
  • 이제 체크아웃하고... 즐겁게 작업할 수 있습니다.:)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top