SVN은 서브버전(Subversion)의 약자로, 프리 소프트웨어 버전 관리 시스템이다.버전 관리 시스템 중에는 2종류가 있는데 git와 SVN이 있다.현재 대중적으로 많이 쓰이는 것은 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상의 링크를 보면 각 운영 시스템에서 사용할 수 있는 SVN프로그램이 정리되어 있다.window에서는 tortoise SVN을 많이 사용해서 나는 이걸로 다운받았다.https://tortoisesvn.net/Thecoolestinterfaceto(Sub)versioncontroltortoisesvn.net 기존에 git를 사용할 때 tortoise Git를 사용하던 사람이라면 툴 사용에 익숙할 것이다.나는 tortoise Git와 Sourcetree를 번갈아 사용하고 있기 때문에 아직 조금은 익숙하지 않은 면이 있다.
로컬 저장소 복사 – checkout
저장소를 연결할 로컬 디렉토리에서 오른쪽 마크 후 checkout 선택. svn 저장소 주소와 로컬 디렉토리를 지정한 후 확인을 누르면 로컬로 저장소가 복사되어 작업할 수 있게 된다. 지정한 checkout directory에 가서 제대로 설치되어 있는지 확인해 볼 것.
저장소 변경 정보 다운로드-update 협업을 하면 실시간으로 많은 작업 내역이 축적되고 수시로 pull을 받아야 한다.변경된 파일을 다운로드하여 최신 상태를 유지하는 것이 좋지만 git에서는 pull, SVN에서는 update라고 한다.이때 Repository 정보를 Local Folder에서 다운로드 하는 기능이다.로컬 디렉토리에서 우클릭한 후 SVNupdate를 선택.로컬에서 변경된 작품이 있으면 변경된 파일은 업데이트되지 않는다.
작업내용을 임시저장하는(Shelve) 개발서버에서 작업할 때 내가 작업하지 않은 파일 또는 개발서버의 세팅파일이 커밋파일로 걸릴 때가 있다. 또는 어떤 작업 도중 급하게 다른 작업에 들어가야 하는 경우 기존에 작업하던 부분을 커밋할 수 없을 때가 있다.이럴 때 매번 파일을 revert(rollback)하여 업로드하거나 백업해두는 방법도 있는데 작업범위가 적을 때 한두 번은 할 수 있는데 계속 이렇게 하기에는 불편한데 이때 git에서는 stash(스테시)를 사용한다.SVN에서도 해당 기능이 따로 있는지 찾아보니 쉘브라는 기능이 있다.
SVN 폴더 내에서 오른쪽 마우스를 클릭한 후 tortoise SVN > shelve 메뉴를 선택하여 임시 저장하고자 하는 파일을 선택하고 확인을 누르면 된다. name은 나중에 unshelve 할 때 선택할 이름으로 구분할 수 있는 이름으로 지정하는 것이 좋다.
shelve를 해제하려면 tortoise SVN > unshelve 메뉴를 선택한 후 해제할 Name을 선택하고 확인을 누른다.