2013-02-06 5 views
6

"branch", "tag"및 "trunk"디렉토리의 의미에 대해 많은 Q/A를 읽었습니다. SVN repos, 그리고 지금 내가 이해했다고 생각하기 때문에, 나는 그것을 구현하려고 노력하고있다.작곡가 및 설정 파일로 SVN "branch", "tag", "trunk"구현

저는 Virtualmin을 사용하여 서버를 관리하고 웹 GUI를 통해 나에게 repos를 만듭니다. 그러나, 일단 내 repo가 ​​비어 있으므로 직접 디렉토리 구조를 만들고 커밋해야합니다. 일단 나는 프로젝트 파일을 트렁크에 넣었고, 안정된 버전 상태이기 때문에/xxx (내 개발의 저장 지점이 될 것임)와/xxx (이는 내 개발 버전).

내가 여기까지 올랐다면 Tortoise로 새 태그로 전환하고 그 다음 커밋에서 변경 될 것입니다. 그런데 Tortoise를 사용하면 현재 태그 디렉토리를 마우스 오른쪽 버튼으로 클릭해야합니까, 아니면 여전히 내 프로젝트의 루트 폴더에서 직접 커밋/되돌릴 수 있습니까?

현재 프로젝트에 절대 경로 몇 개를 정의하는 설정 파일이 있습니다. 어쩌면 잘못되었지만이를 피할 방법을 찾지 못했습니다. 분기/트렁크에서 프로젝트를 실행하고 싶다면 각각의 버전마다 다른 설정 파일이 필요합니까? 그렇다면이 파일을 무시 목록에 추가해야합니까? 나는 무엇이 좋은 연습으로 간주 될 것인가?

추가 질문 :이 경우 Composer를 사용하려면 composer.json 및 공급 업체 디렉토리는 어디에 있어야합니까?

감사합니다.

답변

8

태그와 브랜치가 혼란 스럽습니다. 태그는 수정되지 않아야합니다. 일반적으로 응용 프로그램의 릴리스를 수행 할 때마다 (트렁크 또는 지점에서) 생성됩니다.

분기는 진행중인 작업을 저장하는 데 사용됩니다.

트렁크 디렉토리를 작업 복사본으로 체크 아웃해야합니다. 분기로 전환하려면 switch 명령을 사용하십시오. 같은 위치에있는 각 브랜치마다 별도의 설정 파일을 가질 필요가 없습니다. 원하는 위치 (트렁크, 브랜치 또는 태그)를 지정할 수 있습니다.

그래서, 프로젝트 파일을 가정하면 다음 파일이 포함되어 있습니다 : 핵심은 작업 복사본의 루트 프로젝트의 루트해야한다는 것입니다

index.php 
config.txt 
some_folder 
    foobar.php 

다음 레이아웃 것이다 귀하의 repo :

trunk 
    index.php 
    config.txt 
    some_folder 
     foobar.php 
branches 
    maintenance_1.0 
     index.php 
     config.txt 
     some_folder 
      foobar.php 
    feature_refactor_index_page 
     index.php 
     config.txt 
     some_folder 
      foobar.php 
tags 
    v1.0 
     index.php 
     config.txt 
     some_folder 
      foobar.php 
그리고 당신의 작업 복사본은 다음과 같습니다

MyProject --> references trunk 
    index.php 
    config.txt 
    some_folder 
     foobar.php 

당신이 원하는 경우 이 기능 분기에 작업 지점으로 전환하고 작업 복사본은

MyProject --> references feature_refactor_index_page 
    index.php 
    config.txt 
    some_folder 
     foobar.php 

은 그래서 exacttly 같은 것이 될 것이며, 다른 파일 경로를 포함하는 설정 파일에 대한 이유가 없습니다.

+0

알았습니다! 감사! :) – Nabab