2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

서브버전 SVN의 디렉토리 구조 설정 방법은?

_____
Q1: 서브버전(SVN) 저장소에서 디렉토리 구조를 어떻게 설정하나요?
A1: SVN에서는 일반적으로 프로젝트의 버전 관리를 효율적으로 하기 위해 표준 디렉토리 구조를 사용합니다. 가장 흔한 구조는 다음과 같습니다.

```
/project_name
/trunk
/branches
/tags
```
- trunk : 주 개발 라인(main line)으로, 최신 안정 개발 소스가 위치합니다.
- branches : 독립적인 개발이나 기능 작업을 위한 브랜치들이 위치하는 곳입니다.
- tags : 릴리즈 버전이나 특정 시점의 스냅샷을 저장하는 곳입니다.

Q2: 저장소를 생성할 때 디렉토리 구조를 한번에 만드는 방법은?
A2: 먼저 저장소를 생성하고, `svn mkdir` 명령어 또는 초기 임포트 시 디렉토리를 포함한 구조를 설정할 수 있습니다. 예를 들어:

```bash
svnadmin create /path/to/repository
mkdir temp_project
cd temp_project
mkdir trunk branches tags
svn import . file:///path/to/repository/project_name -m "Initial directory structure"
```

이렇게 하면 프로젝트별 표준 디렉토리 구조가 저장소에 임포트됩니다.

Q3: 이미 생성된 저장소에 디렉토리를 추가하려면?
A3: 저장소 URL에 직접 디렉토리를 만들 수 있습니다. 예를 들어:

```bash
svn mkdir svn://svn.example.com/repos/project_name/trunk -m "Create trunk directory"
svn mkdir svn://svn.example.com/repos/project_name/branches -m "Create branches directory"
svn mkdir svn://svn.example.com/repos/project_name/tags -m "Create tags directory"
```

이 후 `trunk` 안에 소스 코드를 커밋하면 됩니다.

Q4: 디렉토리 구조를 설정하는 베스트 프랙티스는?
A4:
- 모든 프로젝트는 `trunk`, `branches`, `tags` 세 디렉토리를 가지도록 표준화한다.
- 주요 개발 작업은 `trunk`에서 진행한다.
- 기능 개발, 버그 수정 등 별도 작업은 `branches`에 브랜치를 만들어 수행한다.
- 릴리즈 또는 특정 버전은 `tags`에 복사하여 보존한다.
- 이 구조는 여러 프로젝트 관리 시에도 일관성을 제공한다.

Q5: 왜 `trunk`, `branches`, `tags` 구조를 사용하는가?
A5: 이 구조는 많은 SVN 사용자와 기업에서 오랫동안 검증된 표준입니다.

- `trunk`는 메인 개발 라인으로 항상 최신 개발이 반영된다.
- `branches`를 통해 여러 개발 라인이 독립적으로 병행 작업 가능하다.
- `tags`는 배포 또는 릴리즈 시점의 코드를 고정하고 복원 가능하게 한다.

이런 구분은 복잡한 프로젝트에서도 효율적 버전 관리를 가능하게 한다.

---

요약하자면, SVN의 디렉토리 구조는 `trunk`, `branches`, `tags`로 표준화하여 저장소를 생성하거나 초기 임포트 시 설정하며, 이후에도 `svn mkdir` 등으로 추가가 가능하다. 그리고 이 구조는 각 개발 단계와 목적에 맞게 버전 관리 작업을 체계적으로 지원한다.
Subversion(SVN)의 디렉토리 구조는 프로젝트 관리에 있어 매우 중요한 요소입니다.

일반적인 SVN 디렉토리 구조는 다음과 같은 세 가지 주요 폴더로 구성됩니다: 1. trunk (본선) : - 이 폴더는 현재 개발 중인 주 코드 베이스를 저장하는 곳입니다.

보통 최신 안정 버전의 소스를 포함하며, 개발자들은 이곳에서 작업합니다.



2. branches (브랜치) : - 프로젝트의 다양한 기능 개발이나 실험을 위해 복사된 코드의 개별 버전을 저장합니다.

특정 기능이나 수정사항을 테스트하거나 개발할 때 브랜치를 사용하며, 작업이 완료되면 다시 trunk에 병합할 수 있습니다.



3. tags (태그) : - 특정 시점에서의 안정된 버전이나 릴리스를 기록하는 용도로 사용됩니다.

태그는 보통 읽기 전용이며, 특정 버전의 코드를 보존하는 데 유용합니다.

예를 들어, 'v1.0', 'v2.0'과 같이 릴리스 버전 태그를 생성할 수 있습니다.

예시 디렉토리 구조 다음은 SVN에서의 일반적인 디렉토리 구조 예시입니다: ``` /repository-name ├── trunk │ └── (주 코드 베이스) ├── branches │ ├── feature-branch-1 │ ├── feature-branch-2 │ └── bugfix-branch └── tags ├── v1.0 └── v1.1 ``` 디렉토리 구조 설정 방법 1. 새 SVN 리포지토리 생성 : SVN 리포지토리를 만들려면 `svnadmin create /path/to/repo` 명령을 사용합니다.

이는 리포지토리를 초기화합니다.



2. 디렉토리 만들기 : `svn mkdir` 명령어를 사용하여 trunk, branches, tags 디렉토리를 생성합니다.

```bash svn mkdir file://path/to/repo/trunk -m "Creating trunk directory" svn mkdir file://path/to/repo/branches -m "Creating branches directory" svn mkdir file://path/to/repo/tags -m "Creating tags directory" ```

3. 프로젝트 코드 추가 : trunk 디렉토리에 초기 코드를 추가할 수 있습니다.

예를 들어, 로컬 파일에서 SVN에 추가할 수 있습니다.

```bash svn import /path/to/local/code file://path/to/repo/trunk -m "Initial code import" ```

4. 브랜치 및 태그 운영 : 새로운 브랜치를 만들려면 다음과 같이 할 수 있습니다: ```bash svn copy file://path/to/repo/trunk file://path/to/repo/branches/feature-branch-1 -m "Creating a new branch for feature 1" ``` 태그는 다음과 같이 할 수 있습니다: ```bash svn copy file://path/to/repo/trunk file://path/to/repo/tags/v1.0 -m "Tagging version 1.0" ``` 결론 SVN 디렉토리 구조는 프로젝트의 코드 관리를 효율적으로 도와줍니다.

trunk, branches, tags로 구성된 이 구조는 개발팀이 협업하고 소스 코드를 관리하는 데 유용합니다.

올바른 디렉토리 설정을 통해 SVN 리포지토리를 효과적으로 운영할 수 있습니다.

작성자: 박서하 [비회원] | 작성일자: 1년 전 2025-03-21 15:51:13
조회수: 219 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.