동아리 선배님께서 Subversion교육을 해주셨습니다.매우 훌륭한 자료를 만드시고 교육해주신 선배님께 감사드리는 마음으로 포스트를 시작합니다.
^^
저도 아직 많이 해보지 않고 처음단계라 처음하시는 분들께 좋은 자료가 될듯싶습니다.
(감히 예상;;)
!!! 출처를 미리 밝힙니다.
++ 출처 ++
- subversion 기초 사용법.ppt (상단 링크) 단국대학교 MAZE 9기 박선응- http://www.pyrasis.com - Subversion 사용 HOWTO
- CVS 사용자를 위한 Subversion 팁 - 한빛미디어
- CVS 사용법 - softcream'tistory
- cvs 이야기 - KLDP
!!!! Subversion 시작하기 첫번째 !!!!
Subversion 의 특징과 용어정리
버전 관리 툴은 팀프로젝트를 기반으로 여러명이서 프로켁트를 수행할때 하나의 소스를 여럿이서 분석하거나 접근할경우. 충돌이 나지않게 방지하고 중간에 버전을 맞춰주는툴입니다. ^^;
이미 이자료를 찾고계신분은 기본적으로 어느정도는 알고계신다고 생각하겠습니다.
버전관리툴을 사용함으로서 많은 장점들이 있겠지만 제 개인적으로 볼때의 장점들을 나열하자면- 여러 프로젝트를 동시에 수행중이거나 프로젝트가 끝났어도 소스를 보관할때. 매우 편리하게 할수
있습니다.
저는 여러가지 마이크로컨트롤러를 사용하여 같은 프로젝트나 여러가지 프로젝트를 하는데(말은 거창;)
프로젝트별로 관리하자니 컴파일러나 IDE 때문에 관리할 폴더에 제약이 생기고, 마이크로프로세서
별로 관리하자니 같은 프로젝트인데도 따로 보관되어 찾아보기도 불편했었는데 통합관리툴은 그런불편
들을 없애 주었습니다. ㅋ (무슨 무안단물 선전같음;)
- 소스백업과 복원을 깔끔하고 간편하게 할수있습니다.소스를 수정하면서 백업하려고 하면 또 소스를 수정하게되고 밤새고 아침에 해야지 하다보면 다음날로
미루어지고 다음날에도 귀차니즘으로 미뤄지고; 일일이 압축해놓기도 번거롭고 머가 수정됐었는지
어디가 수정되었는지 찾으려고 또 한나절을 보내는데 그런 불편함을 없애주었습니다. ^^;
같은 프로젝트를 여러버전으로 만들때 따로 작업폴더를 만든다는게 사실 아까 말씀드린 컴파일러 옵션
이나 IDE 설정때문에 번거러워서 안하고 한버전 만들고 바이너리만 보관, 다시 "밀고 짜고" 를 반복하
는 아주 비능률적인 일을 자행해 왔었는데 이젠 먼가 체계적이고 능률적인 흐름으로 만들어주었습니다.
^^;;;;;;- 전체적인 소스의 분석및 관리능력이 향상되었습니다. (무슨 번역한거같네요;; ^^;;)
단점이라면 손에 익지 않았을때의 약간의 귀찮음이랄까;;하하;; 모든 문제는 귀찮음에서 시작하는군요;;;
제개인적은 견해는 이렇고 ..기능별로 요약해보면..
소스를 웹서버상에 보관합니다. (개인컴퓨터로 서버, 클라이언트를 모두사용할수도있습니다.)
각자 소스에 접근을 원하는 사람들은(서버 입장으로 봤을때 클라이언트 들) 웹상으로 접근하여 소스를
가져오고 수정및 보완하여 서버에 소스를 다시 올립니다.
중간의 subversion은 바뀐부분을 클라이언트 에게 비교, 확인시켜주고 서버의 소스를 수정합니다.
소스를 수정할때마다 바뀐부분을 로그 형식으로 저장하고 클라이언트 들이 원할때 상세하게 바뀐부분들을
비교해볼수있게 해줍니다.
하나의 릴리즈버전이 완성되었을경우나 분기하여 다른 버전으로 변화시 관리를 쉽게 해줍니다.
라고.. 잘모르는 제가 감히 말씀드립니다. ^^;;시작하기 전에 미리 용어들을 설명하겠습니다.
Repository : 한글로 하면 저장소 라고도 하고 기본적인 서버안에 있는 관리 폴더라고 보시면 됩니다.
지정한 프로젝트의 프로그램 소스들과 변경사항 로그들을 저장하는 공간입니다. 서버에 만들어 놓는
공간으로 지정한 사람이 접근할수 있습니다.(여러 사람도 가능) 프로젝트별로 하나의 저장소가
필요합니다. 운영체제 파일시스템과는 다른파일시스템을 가지고 있기 때문에 윈도우서버나 리눅스
에서는 쉽게 접근할수없으며 Berkeley DB란 파일시스템을 사용합니다. (CVS 는 잘모르겠습니다;)
Subversion 에서는 Repository 하위에 아래의 세가지 디렉토리를 두는것을 추천하고 있습니다.
Trunk : 한글로하면 줄기 라는 뜻이고. 프로그램 개발의 중심이 되는 하나의 흐름을 뜻하며가장중심이 되는 물리적 디렉토리(repository 하위의) 입니다. 중심이 되는 소스나 파일들을
저장합니다.
Branches : 한글로하면 가지 라는 뜻이고 Trunk 에서 뻗어져 나온 작은개발 흐름을 뜻합니다.
프로젝트의 중심이 Trunk 라면 이프로젝트에 속하는 작은 프로젝트를 하는 물리적인 저장공간이고
역시 repository 의 하위 디렉토리입니다.
Tags : 한글로하면 꼬리표 라는 뜻이고, 개발중에 정식으로 릴리즈된 소스들이 보관되게 되는
공간입니다. 릴리즈된 소스에는 Revision 번호가 붙게됩니다.
그밖에 다른용어들에 대한 설명입니다. CVS를 사용하셨던 분들은 익숙한 용어들일것입니다.
Revision : 한글로하면 개정,수정 이고, 서버의 소스가 수정되면 리눅스버전 올라가듯이 revision 번호
가 올라갑니다. (예를들면 1.1 -> 1.2 -> 1.3, 1.2.2.1-> 1.2.2.2... )
Import : 서버의 저장소에 소스및 다른파일들을 넣는 작업입니다.
Export : Import와 반대로 소스나 파일들을 클라이언트에 완전한(순수한) 형태로 가져오는 것입니다.
Check out : 클라이언트가 아무것도 없는 상태에서 Import 하여 서버에서 관리가 되도록 올려놓은
소스를 작업하기위해 꺼내오는 것입니다. (맨처음에나 작업환경이 바뀌였을때 한번 해줘야겠지요 ^^)
Export와 다른점은 파일관리를 위한 subversion 파일도 같이 가져온다는 점 입니다.
Update : Check out 후에 작업한지 오랜시간이 지나서 다른사람이 서버의 소스를 수정했을 가능성이
있을경우 현재 가지고 있는 소스와 비교해서 다른부분이나 추가된 부분을 말그대로 업데이트 시키는
것입니다. (check out 과 다른점은 바뀐부분의 소스만 가져온다는것이겠죠~ 소스가 방대하다면
Check out에 비해 시간을 단축시킬수있습니다.)
Commit : 소스를 작업한후 이전보다 보완이나 수정된 부분이 생기게 될것입니다. 이제 변경된 소스를
서버에 올리는 작업입니다. 아까 말씀드린대로 Revision 이 하나 증가하게 됩니다. 개인적으로
소스를 다룬다면 백업한다는 느낌이 되겠지요 ^^
후. 용어정리만 하는데도 많은 시간이 걸리는군요;;
읽어주신분들께 감사드리며 다음에는 설치및 사용법에 대해 올리겠습니다. ^^
-무플이 젤무서워요-
'달빛선장 이야기 > Decode (SW)' 카테고리의 다른 글
| (수정) 2008년 신입생 중간평가결과 및 정답 (6) | 2008/04/15 |
|---|---|
| gcc 에서 atan() sqrt() acos() 들 math.h 쓸때 문제점.. (4) | 2007/09/20 |
| BMP 파일의 구조 [ BITMAPFILEHEADER , BITMAPINFOHEADER ] (0) | 2007/09/15 |
| 버전관리툴 Subversion 시작하기 첫번째! (8) | 2007/04/10 |
-
-
-
-
달빛선장 2007/04/11 23:54
헉 저도 다써놓고 같은생각을;; 아무래도 보기가힘들죠? 단락구분은 어떤식으로 해야데지;;; 하 그런걸 잘몬하겠어요 ㅋㅋ 끈임없는 관심 부탁드립니다아~ ^^"
-
-

Subversion 기초 사용법.ppt
이올린에 북마크하기
이올린에 추천하기

Prev
Rss Feed