
SVN은 서브 버전(Sub version)의 약자로 자유 소프트웨어의 버전 관리 시스템이다.버전 관리 시스템 안에는 2개가 있는데, git와 SVN N이 있다.현재 대중적으로 많이 사용되는 것은 git이다.나도 지금까지 진행해 온 프로젝트에서 모두 「git」를 사용했기 때문에, 훨씬 편하고 익숙하다.하지만 최근에 작업하게 된 유지 보수 프로젝트에서 SVN을 사용하게 되었으니 나중에 나를 위해 SVN 사용 기록을 남겨두려고 한다.
https://subversion.apache.org/packages.html#windowsApache Subversion Binary Packages Find packages for your operating system:Centos Linux| Debian Linux| Fedora Linux| FreeBSD| HP-UX| NetBSD| OpenBSD| openSUSE| Mac OS X| Red Hat Linux| Solaris| SUSE Linux| Ubuntu Linux| Windows The Apache Subversion project does not officially endors.subversion.apache.org상의 링크를 보면 각 OS에서 사용할 수 있는 SVN프로그램이 정리야되고 있다. window에서는, tortoise SVN을 많이 사용하고, 나는 이것으로 다운로드했다.https://tortoisesvn.net/The coolest interface to (Sub) versioncontroltortoisesvn.net 기존 git을 사용할 때 tortoise Git을 사용한 사람이라면 툴 사용에 익숙할 것이다.나는 tortoise Git과 Sourcetree를 번갈아 사용했기 때문에 아직은 약간은 익숙하지 않은 면이 있다.
로컬로 저장소 복사 – checkout

저장소에 연결할 로컬 디렉터리에서 우마클 후 checkout 선택. svn저장소 주소와 로컬 디렉토리를 지정한 후 확인을 누르면 로컬로 저장소가 복사되어 작업할 수 있다. 지정한 checkout directory로 가서 설치되었는지 확인하도록 한다.
저장소 변경 정보 다운로드 – update 협업을 하면 실시간으로 많은 작업 내역이 축적되어 수시로 풀을 받아야 한다.변경된 파일을 다운로드하여 최신 상태로 유지하는 것이 좋으며, git에서는 pull이라 하고 SVN에서는 update라 한다.이 때 Repository의 정보를 Local Folder에 다운로드 받는 기능이다.로컬 디렉토리에서 우클릭 후 SVN update를 선택.로컬에서 변경된 작업물이 있을 경우 변경된 파일은 갱신되지 않는다.

작업내용을 임시저장하는(Sh elve) 개발서버 작업시 내가 작업하지 않은 파일 또는 개발서버 셋파일이 커밋파일에 걸릴 수 있다. 또는 어떤 작업 도중에 급하게 다른 작업에 들어가야 할 경우 기존에 작업하던 부분을 커밋하지 못할 수도 있다.이럴 때는 매번 파일을 revert(roll back)해 올리거나 백업해 두는 방법도 있는데 작업 범위가 적을 때는 한두 번은 할 수 있지만 계속 이렇게 하는 것은 불편하지만 이때 git에서는 stash(스테이시)를 사용한다.SVN에도 해당 기능이 따로 있는지 찾아보니 “Shelve”라는 기능이 있다.


SVN 폴더 안에서 오른쪽 마우스를 클릭하여 tortoise SVN > shelve 메뉴를 선택하고 임시 저장하고자 하는 파일을 선택하여 확인을 누르면 된다. name은 추후 unshelve시 선택하는 이름이므로 구분할 수 있는 이름으로 지정하는 것이 좋다.

shelve를 해제하려면 tor toise SVN > unshelve 메뉴를 선택하고 해제할 Name을 선택하여 확인을 누른다.