컴파일 한 번에 성공하는 그 날까지👀

코딩왕이 되고싶은 이코딩의 개발괴발 개발일지 😼

개발괴발🐾/Sundries

[SVN] Tortoise SVN 브랜치(branch)와 병합(merge) 기능 사용

OI코딩 2024. 5. 8. 19:54

(1) Trunk / Branch / Tag 는 각각 무엇인가요?

Trunk 프로젝트의 메인이 되는 저장소입니다. 
전체 프로그램의 개발 작업은 이곳에서!
Branch 프로그램 개발 중 trunk 디렉토리 내에서 파생되는 기능을 테스트 하거나 개발해야할 경우가 생겼을 때 사용합니다.
프로그램 내의 작은 프로젝트 개념. branch 작성[완성] -> merge를 반복하며 작업!
Tag 프로그램을 개발하면서 정기적으로 릴리즈 할 때 버전별로 소스코드를 따로 관리하는 공간입니다.

 

(2) Branch를 생성해봅시다

  • 새로운 branch를 생성할 경로에서 (주로 trunk) 마우스 우클릭 -> TortoiseSVN -> Branch/tag... 클릭

 

  • To path: 우측의 ... 버튼을 눌러 branch 생성할 디렉토리를 설정
    -> 좌측의 디렉토리 중 branches 폴더 선택 후 OK 버튼 클릭
    -> 중복되지 않게끔 이름을 설정하고 OK버튼 클릭

  • 아래 메세지가 뜨면 branch 생성이 완료 된것인데, 이제 설정된 경로로 이동 후 Update를 클릭하여 생성된 branch를 확인!

branch1만 있던 디렉토리에 branch2가 생겼습니다. 짠!

 

 

 

(3) Merge를 사용해봅시다

branch에서 작업을 하다 보면 trunk와 데이터를 교환(?) 해야 할 일이 생깁니다.

그럴때는 merge 기능을 활용하여 작업중인 trunk와 branch의 데이터 싱크를 맞춰줍니다.

특히 신경써야할 부분은 데이터 병합의 방향인데, 오늘은 trunk 의 변경사항을 branch에 적용시켜보겠습니다😎

 

  • 병합 대상 branch 디렉토리에서 마우스 우클릭 -> TortoiseSVN -> Merge... 클릭

  • Merge two different trees 선택
     -> Merge option 선택 (라인 엔딩이나 공백 같은 경우는 무시하도록 설정할 수 있음)

  • From / To 설정
From 병합 대상 디렉토리 (주로 branch)
= 변경사항을 적용시킬 디렉토리
To 병합 시 변경사항을 가져오는 디렉토리 (주로 trunk) 
= 비교대상이 되는 디렉토리

  • Commit 실행. 필요 시 로그 메세지 작성.

'개발괴발🐾 > Sundries' 카테고리의 다른 글

[SVN] Tortoise SVN 저장소 (repository) 생성방법  (0) 2024.03.11