안녕하세요
2조 10 플밍 오재윤 이라고 합니다.
이
글을 쓰는건 다름이 아니라 프로젝트를 진행하실때 괜찮은 툴이 있어 소개시켜드리려고 합니다
들어보신분도
계시고 써보신분도 계시고 저보다 더 잘 아시는 분도 계시겠지만 염치 불구하고 몇자 적어봅니다.
제가
소개해드릴것은 Subversion 흔히 SVN 또는 거북이 라고 불리우는 소프트웨어 버전 관리 시스템입니다.
오픈소스이다보니
무료로 다운받으셔서 사용하실수 있습니다
그리고 SVN
말고도 CVS , Visual SourceSafe 등 많은 관리 시스템들이 있지만..
SVN
과 CVS 와의 차이점을 설명드리겠습니다.
이
2가지 차이를 설명드리는것은 가장 많이 쓰이는 툴이기 때문입니다.
SVN
은 CVS 의 업데이트 판이라고 생각하시면 쉽습니다.
SVN
이 CVS 와 비교했을때의 장점은
원자적으로
쓰기를 지원하므로, 다른 사용자의 쓰기와 엉키지 않는다.
이름을
바꾸거나, 복사하거나, 파일을 지워도 리비전 기록을 유지한다.
이진
파일의 경우 한번 저장한 후 변경될 경우 차이점만 저장하기 때문에 저장소를 효율적으로 사용할 수 있다.
디렉터리도
버전 관리를 할 수 있다. 디렉터리 전체를 빠르게 옮기거나 복사할 수 있으며, 리비전 기록도 그대로 유지한다.
소스
저장고의 크기에 상관 없이 일정한 시간 안에 가지 치기(branching)나 테그 넣기(tagging)를 할 수 있다.
소스
저장고로의 접근이 최적화되어 있으므로, 소스 저장고에서 필요 없는 네트워크 트래픽을 줄일 수 있다.
(출처
: Wiki)
등이
있습니다
그럼
왜 이 SVN 이나 CVS 같은 버전 관리 시스템을 사용하느냐.. 하실수도 있습니다
그
이유는
무언가 잘못되었을 때 복구를 돕기 위하여
프로젝트
진행 중 과거의 어떤 시점으로 돌아갈 수 있게 하기 위하여
여러사람이 같은 프로젝트에 참여할 경우, 각자가 수정한 부분을 팀원 전체가 동기화하는 과정을 자동화하기
위하여
소스
코드의 변경 사항을 추적하기 위하여
소스
코드에서 누가 수정했는지 추적하기 위하여
대규모
수정 작업을 더욱 안전하게 진행하기 위하여
가지내기(Branch)로
프로젝트에 영향을 최소화 하면서 새로운 부분을 개발하기 위하여
접붙이기(Merge)로
검증이 끝난 후 새로이 개발된 부분을 본류(trunk)에 합치기 위하여
많은
오픈 소스 프로젝트에서 어떠한 형태로든 버전 관리를 사용하고 있으므로
코드의 특정 부분이 왜 그렇게 쓰여 졌는지 의미를 추적하기 위하여
(출처
: Wiki .. 제가 적을수도 있지만 그것보다는 Wiki 가 다양하게 설명해주어서 적어봅니다.)
등이
있습니다
일반적인
사용방식 개념은
갑돌이가
어떤 File을 저장소(repository)에 추가(add) 한다.
추가되었던
File을 갑돌이가 인출(Check out) 한다.
갑돌이가 인출된 file을 수정한 다음, 저장소에 예치(Commit) 하면서 설명을 붙인다.
다음날 을순이가 자신의 작업 공간을 동기화(Update) 한다. 이 때 갑돌이가 추가했던 file이
전달된다.
을순이가
추가된 file의 수정 기록(Change log)을 보면서 갑돌이가 처음 추가한 file과 이후 변경된 file의 차이를 본다(Diff).
(출처
: Wiki)
입니다
아마
빨간색으로 표현한 부분이 가장 중요하고 가장 자주 쓰일것입니다.
그럼
다음 글에서 설치법,사용법을 안내해 드리도록 하겠습니다.