메뉴 닫기

tortoisesvn 사용해보기

tortoisesvn 사용해보기

 

다운로드

https://tortoisesvn.net/downloads.html

 

 

 

SVN 에 대해서 들어봤는데 형상유지관리 인가 뭔가 하면서 들어본 기억이 난다.

 

대략 SVN 이 머하는 놈인지 정리 부터 해보았다.

개발에 주로 이용되며 효율성 향상을 위한 툴

서버 – 여러명의 클라이언트 (사용자) 들로 구성된다.

하나의 파일(문서)를 공유해놓고 여러명의 사용자가 읽을수 있으며 수정할수 있다.

동시에 여러명의 사용자가 여러가지 파일을 수정하고 저장하고 공유한다. 

서버에서는 최초 원본 파일을 저장하고 변경될때 마다 변경된 이력들만 저장한다

 

 

 

 

 

 

 

 

SVN을 알기전에는 아래와 같이 업무를 처리하였다.

파일 전송 –> 파일 전달 –> 파일 수정 (상대방) –> 파일 다시 받고 (나) –> 파일 수정 (나)

…무한반복…

 

SVN 사용하면 대개 프로세스가 단순하고 “파일수정했으니 확인하고 수정할거 있으면 다시 수정해라 라고 하면 끝난다.”

파일수정한다 –> Commit 한다 –> 동기화된 사용자에게 알람 발생 –> 확인 –> 끝

SVN 업데이트 알람 받는다 –> SVN 접속한다 –> 확인하거나 수정한다 –> 끝

 

대개 일주일에 1-2번 정도면  그냥 수동으로 처리해도 상관없을듯 한데 하루에 몇번씩 파일을 주고 받고 서로 파일을 수정해야 하는 경우에는 SVN의 기능은

상당히 파일을 주고 받는 시간도 절약할수 있을뿐만 아니라 누가 수정했는지 이력도 자동으로 남으므로 업무 시간을 상당히 단축시켜줄수 있을거라 본다.

먼저 SVN 서버가 필요한데 여기서는 생략한다 대략적으로 리눅스에서 RPM 으로 레드헷 계열인 경우 아래 명령어로 간단히 설치가 가능하다

 

[root@localhost ~]# yum install subversion

====================================================================================

 Package                                                Arch                                          Version                                                 Repository                                      Size

====================================================================================

Installing:

 subversion                                             x86_64                                        1.6.11-15.el6_7                                         updates                                        2.3 M

Installing for dependencies:

 libproxy                                               x86_64                                        0.3.0-10.el6                                            base                                            39 k

 libproxy-bin                                           x86_64                                        0.3.0-10.el6                                            base                                           9.0 k

 libproxy-python                                        x86_64                                        0.3.0-10.el6                                            base                                           9.1 k

 neon                                                   x86_64                                        0.29.3-3.el6_4                                          base                                           119 k

 pakchois                                               x86_64                                        0.4-3.2.el6                                             base                                            21 k

Transaction Summary

====================================================================================

Install       6 Package(s)

Total download size: 2.5 M

Installed size: 12 M

Is this ok [y/N]:

 

 

 

우선 SVN 서버는 설치되었다고 가정하고 클라이언트 툴인 TORTOISESVN을 설치해보자

 

윈도우에만 설치되는데 리눅스 클라이언트는 여러가지 제약 (?) 들이 많이 있어서 윈도우 가상버신에 설치해보았다.

리눅스에 WINE (윈도우 로더) 프로그램을 이용해서 설치를 해봤는데 설치가 되지 않는다.

 

그래서 윈도우에서 설치하였으며 32비트인지 64비트인지 선택한후에 다운받고 실행하면 된다. 무조건 YES 하면 설치 된다.

마우스 오른버튼을 클릭하면 아래와 같이 메뉴가 열리는데 “SVN Checkout…” 이거를 클릭하면 된다.

그전에 파일들을 다운 받을 디렉토리를 생각해놓거나 생성한다.

 

SVN 체크아웃을 클릭하면 아래 창이 다시 열리는데 아래와 같이 입력하면 된다.

 

제일 위에는 SVN 주소 입력 : 주소만 입력하면 끝날줄 알았는데 SVN 서버에세 사용자마다 디렉토리별 권한을 지정해줄수 있다고 한다.

그래서 최초 동기화시에 에러가 발생하고 진행되지 않았는데 내가 권한이 있는 디렉토리 하위까지 세부적으로 입력해주니 해결되었다.

그 밑에는 나의 컴퓨터 디렉토리를 지정하게 되는데 최초 SVN 서버에서 공유된 파일들을 다운받고 관리하기 위한 디렉토리이다.

 

일단 위의 2가지를 입력하고 OK 를 누르면 먼가 파일이 쭈루룩 올라가는게 보이면 SVN 서버에서 파일을 다운받고 있는중인것이다.

 

여기서 중간에 ERROR 발생후 멈추면 에러 로그를 살펴보고 해결한뒤 위 작업을 처음부터 다시 하면 되는것이다.

나는 재수좋게 Finished 라고 뜨고 성공하였다. OK 버튼을 누른다. 

 

위에서 지정한 디렉토리로 이동해보니 SVN 서버에서 다운받은 파일이 생성되어 있었다.

 

해당 디렉토리를 마우스 클릭한다음 오른쪽 마우스 버튼을 클릭하면 아래 메뉴가 보이는데 여기서 입맛에 맞게 골라서 사용하면 될듯 하다.

 

기능 정리

SVN Update : SVN 서버로 부터 갱신된 파일을 다운받아서 동기화 해준다는 의미이며

SVN Commit : 자신이 수정한 특정 파일을 SVN 서버에 저장하고 이력을 남기겠다는 의미

그리고 아래에 있는 Tortoise SVN 하위 메뉴들은 해당 TortoiseSVN에서 사용 가능한 기능들 ( 아직 다 모른다)

보기에는 Update 와 Commit 2개만 주로 사용할듯 하고 나머지 명령어나 기능들은 시간날때 짬짬히 봐야 겠다.

 

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다