중앙집중관리식 형상관리 소스 관리 툴 ( 중앙 서버에 저장소가 있다 )

Subversion 서버


SVN 편이성 툴

TortoiseSVN

Downloads · TortoiseSVN


용어

용어 설명
Trunk(메인 개발 라인) 운영 중인 안정화된 버전의 소스가 보관되는 디렉터리
저장소(Repository) 프로젝트의 모든 파일과 폴더, 그리고 이력을 저장하는 곳.
모든 개발자가 중앙 서버에 접속하여 코드를 관리하고 업데이트함.
체크아웃(Checkout) 저장소로부터 프로젝트의 최신 버전을 가져오는 것.
개발자는 이를 통해 로컬에서 작업을 시작할 수 있음.
커밋(Commit) 로컬에서의 작업을 저장소에 반영하는 것.
변경된 파일을 저장소에 올리고 이를 이력에 추가함.
추가(Add) 로컬 파일을 서브버전이 관리하는 파일로 등록하는 것.
업데이트(Update) 저장소의 최신 변경 사항을 로컬에 반영하는 것.
다른 개발자가 커밋한 변경 사항을 가져와 로컬 작업 환경을 최신 상태로 유지함.
—-
동일한 파일을 Repository와 Local에서 동시에 변경한 경우 서브버전에서
자동으로 Merge 해주지만,
서브버전에서 Merge를 할 수 없을 경우 Conflict상태로 변경될 수 있다.
리비전(Revision) 저장소에 커밋된 변경 사항. 각 리비전은 고유한 번호로 식별됨.
브랜치(Branch) 프로젝트의 복사본을 만들어 독립적으로 개발하는 것.
주로 새로운 기능 개발이나 버그 수정을 위해 사용됨.
태그(Tag) 특정 시점의 프로젝트 상태를 저장하는 데 사용됨.
주로 릴리스 버전을 나타내는데 사용되며, 안정된 상태의 코드를 가리킴.
병합(Merge) 두 개의 다른 브랜치나 태그를 합치는 것.
주로 개발이 완료된 브랜치의 변경 사항을 메인 브랜치에 반영할 때 사용됨.
충돌(Conflict) 병합 시 두 개 이상의 변경 사항이 충돌하는 경우.
개발자는 충돌을 해결하여 병합을 완료해야 함.
속성(Properties) 파일이나 폴더에 추가 정보를 저장하는데 사용됨.
예를 들어, 파일의 실행 권한이나 MIME 타입 등을 저장할 수 있음.
잠금(Locking) 다른 사용자가 해당 파일을 편집할 수 없도록 파일에 대한 변경을 제한하는 상태

SVN 명령어 목록

Untitled

Show log :

커밋 기록 보기

기존 코드와 현재 코드 비교도 여기서

Revert :

복구하기 reset

Clean up :

이력 정보가 잘못되어 오류가 발생하거나, update 명령어나 commit 명령어 사용 시 에러가 발생할 경우의 해결 방법

Relocate :

SVN 저장소의 URL을 변경

Add :

SVN에서 관리할 코드 추가

SVN 상태 표기

Untitled


이클립스 SVN

작업 설명
동기화
(Synchronize with Repository) 서버에 있는 소스와 로컬 소스의 싱크를 맞춥니다.
커밋(Commit) 서버로 나의 로컬 소스를 올리는 작업입니다.
업데이트(Update) 서버의 소스를 나의 로컬로 옮기는 작업입니다.
덮어쓰고 커밋
(Override and Commit) 서버를 무시하고 로컬에 있는 파일을 서버에 덮어쓰는 작업입니다.
덮어쓰고 업데이트
(Override and Update) 로컬을 무시하고 서버에 있는 파일을 내 로컬로 덮어 쓰는 작업입니다.
히스토리 보기(Show History) 사람들이 업데이트 한 내역을 확인할 수 있습니다.
어느 부분을 업데이트했고, 어떻게 했는지 상세하게 확인 가능합니다.
되돌리기(Revert) 현재 작업했던 내용을 취소하고, 서버 소스로 모두 바꾸어줍니다.