SVN은 다른 VCS(버전 관리 시스템)처럼 GUI와 CLI 모두로 사용이 가능함.
어차피 GUI로 쓰나 CLI로 쓰나 겹치는, 알아야 하는 사용법이 있음.
둘 다 간단하게 알아보고, 중요한 사용법들을 알아보는 방향으로 갈게여
GUI로 사용하는 방법
SVN의 GUI 툴은 여러가지가 있다고 하지만, 지금 간단하게 알아볼 툴은 TortoiseSVN임. 입사 후 막 나는 이클립스에서 SVN을 사용하고 있었는데 이걸 사용하는 사람도 있더라구? 근데 첨에는 그냥 window XP 시절 그냥 파일 탐색기 같이 생겨서 그게 SVN GUI 툴인지 몰랐음 ㅋㅋㅋㅋㅋ 첫인상이 좀 구려보여서 아직 사용은 안해봤음 ㅎㅎ
그리고 내가 알기론 Tortoise가 육지거북이란 뜻인가 그럴거임. 그래서 TortoiseSVN를 보면 귀여운 거북이가 그려져 있음!
얘 말고도 VisualSVN, Cornerstone, RapidSVN 등의 SVN GUI 툴이 있다고 합니다 ~
TortoiseSVN 사용법
설치는 그냥 구글링해서 찾아서 하거나 공식 웹사이트에서 설치할 수 있음
- 실행시키고- 메뉴에서 원하는 작업(커밋, 업데이트 등)을 선택하면 됨.- 파일이나 폴더의 상태가 아이콘으로 표시되어 있어서 변경사항을 시각적으로 파악할 수 있음!
쓰고 보니까 뭐... 안쓰니만 못한 사용법이네요? ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 이클립스 등의 IDE에서도 쉽게 사용할 수 있으니까 다른 더 좋은 자료들도 찾아보고 사용하시는 것을 추천드립니당
CLI로 사용하는 방법
SVN은 GUI가 아니라 CLI로 사용하는 것이 더 강력하고 함. 물론 뭐든 GUI가 편하긴 한데 CLI가 뭐랄까 더 근본이고,,, 옆에서 보면 더 멋있어 보인다...? ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
네 암튼. 이제 설명할 것들은 GUI든 뭐든 그냥 SVN에서 쓰이는 용어 및 사용법임. 그리고 Git도 비슷하게 사용하니까 잘 알아두면 손해는 안볼 듯
1. svn checkoutcheckout 명령어는 SVN 저장소에서 코드를 가져와 로컬 컴퓨터에 저장하는 역할임. (Git의 clone)
svn checkout [저장소 URL] [로컬 경로]
2. svn commit
commit 명령어는 로컬에서 수정한 코드를 SVN 저장소에 반영하는 역할임. (Git의 commit, push)
svn commit -m "commit message"
3. svn update
update 명령어는 SVN 저장소에서 변경된 코드를 가져와 로컬 컴퓨터에 업데이트하는 역할임. (Git의 pull)
svn update
4. svn diff
diff 명령어는 로컬에서 수정한 코드와 SVN 저장소에 있는 코드를 비교하는 역할임. (Git의 diff)
svn diff [파일 경로]
5. svn status
status 명령어는 로컬에서 수정한 파일의 상태를 확인하는 역할임. (Git의 status)
svn status
6. svn add
add 명령어는 새로운 파일을 SVN 저장소에 추가하는 역할임. (Git의 add)
svn add [파일 경로]
간단한 설명 뒤의 ( ) 안에 어떤 Git의 명령어와 매칭이 되는지도 적어 놨음!
깃에 관해서는 다음에 또 글을 써보도록 하겠음
마무리
입사하기 전에는 뭐 프로젝트 규모가 크지 않고 몇명 모여서 프로젝트하고 그래서 형상 관리 시스템, 버전 관리 시스템인 VCS의 중요성에 대해서 뼈에 사무치게 막 느껴지진 않았음.
간단한 소스면 그냥 어떻게든 친구한테 보내줄 방법은 있었고, 별거 아니라 생각했지.... 근데 지금은 회사를 다니고 몇십명? 백명? 가까이 되는 사람들과 함께 공동으로 개발을 하다 보니까 내가 했던 생각은 진짜 오만방자한 생각이구나... 싶음.
SVN이 없었다면, Git이 없었다면...? 진짜 상상만해도 개끔찍함 에바야
협업 툴을 사용하는데도 이렇게 장애가 많고 충돌이 많고 원복도 많이하고 하는데 이게 없었다면...? 그럼 난 걍 바로 퇴사
그럴 정도로 이 VCS는 엄청나게 어어어엄청 소중한 도구이다! 이거만 해서 벌어먹고 사는 사람도 있을 정도면 말 다한거 아닌가 ~?