본문 바로가기

카테고리 없음

SVN이란?

SVN이 무엇인지 모르시는 분들을 위해 대표적인 개념을 쉽게 풀어 보았습니다.

 

SVN이란?

쉽게 하나의 서버에서 소스를 쉽고 유용하게 관리할 수 있게 도와주는 툴이라고 생각하면 됩니다.

 


 

위의 이미지 처럼 여러명의 개발자가 함께 프로젝트를 진행할때 소스 관리를 할 수 있게 하기 위해 하나의 서버에서 관리할 수 있도록 도와줍니다.

이 프로젝트 소스는 SVN 서버의 Trunk라는 곳에 위치합니다.

작업 방식은 자신의 Local에 Trunk소스를 다운 받아(update) 수정 및 추가 한 후 다시 업로드(commit)하는 형식입니다.

동일한 프로젝트를 개발하는 개발자들은 누가 어떤 소스를 수정하고 업로드(commit) 했는지 로그를 통해 쉽게 파악할 수 있습니다.

 

 

 

그런데 개발자 중 동일한 프로젝트의 특정 모듈등이나 기존 소스에 영향을 끼치는 다른 기능을 개발해야 할 경우가 있습니다.

위의 설명대로 Trunk소스에 함께 개발하자니 꺼림찍하고 자신의 소스때문에 다른 개발자들이 하는 작업에 불편을 끼치거나 오류를 발생 시킬 수 있습니다.



그럴 땐 위와같이 Branch(원 소스(Trunk)의 나뭇 가지)를 만들게 됩니다. 

자신이 원하는 Trunk소스를 자신만의 소스(Branch)로 만들어 작업하면 됩니다.

다른 개발자들이 특별히 설정하지 않는 한 내가 만든 Branch는 본인만 접근하여 개발하게 됩니다.

 

이 Branch에서 목적을 달성하여 개발이 완성되었다면 Trunk와 소스를 합치는 작업을 하게 됩니다.

 


Merge기능을 사용하여 Trunk의 소스와 합칠 수 있습니다.

 

여러가지 기능들이 있지만 SVN에 무엇인지 감을 잡기위한 설명으로 대표적인 기능을 설명해 보았습니다.

 

감사합니다.

[출처] SVN이란? 쉬운 개념|작성자 고릴라

출처 : 고릴라의 블로그