본문 바로가기
IT/SVN

[SVN] - SVN 개념 및 명령어

by 차이나는 개발자 2020. 9. 15.
728x90
반응형

#SVN 개념 및 명령어

 

 

#SVN

-소스 코드 버전 관리 도구이며 동시 개발, 소스 충돌을 회피할 수 있습니다.

 

#Repository 

-프로젝트 정보가 기록되는 서버측 저장공간입니다.

(소스코드가 버전별로 저장됩니다.)

 

#Trunk 

-메인 코드라인을 의미합니다. 

 

#Branch 

-새로운 기능을 따로 개발할 필요가 있을 때, Trunk를 copy 하여 코드라인을 하나 더 만드는 것입니다.

개발이 완료된 후 Trunk와 다시 합칠 수 있습니다.

 

#Tag 

-Tag 또한 Branch와 같이 Trunk를 copy하여 만든 코드라인입니다.

Trunk, Branch, Tag는 논리적으로만 구분하여 관리를 할 뿐 물리적으로는 차이가 없습니다.

Tag는 보통 릴리즈를 할 때 만듭니다.

릴리즈된 버전마다 따로 패치가 나가거나 추가되어야할 기능들이 다르기 때문에 Tag를 만들어 따로 관리하는 것입니다.

 

#Working Copy 

-서버의 저장소에서 클라이언트로 checkout 받은 프로젝트를 말합니다.

(복사본)

 

#Checkout 

-서버 저장소에 있는 프로젝트를 클라이언트로 카피하는 작업을 말합니다.

 

#Commit 

-working copy의 변경 사항을 서버에 적용 시키는 것을 말합니다.

 

#Revision 

-svn이 프로젝트 버전관리를 하는 기준으로 커밋을 할 때마다 프로젝트의 revision이 1씩 증가합니다.

 

 

#명령어 목록

#Import

-Repository에 없는 파일과 디렉토리를 추가합니다. (레파지토리 중심으로 최초)

-svn import [PATH] URL

 

#Export

-버전관리 정보가 없는 깨끗한 사본을 받아옵니다.

-svn export [-r REV] URL [PATH]

 

#Checkout

-Working Copy를 Repository에서 꺼냅니다.

-svn checkout(co) URL [PATH]

 

#Update

-Working Copy를 Repository의 최신 내용으로 바꿉니다.

-svn update(up) [PATH]

 

#Commit

-변경된 내용을 Working Copy에서 Repository로 전송합니다.

-svn commit(ci)

 

#Add

-파일과 디렉토리를 Version Control에 넣습니다.

-svn add [PATH]

 

#Log

-Repository의 변경사항을 확인합니다.

-svn log [PATH]

-svn log URL

 

#Diff

-두 Revision상의 차이점을 출력합니다.

-svn diff -r N[:M] [TARGET]

 

#Lock

-Working Copy 나 Repository를 잠급니다.

-svn lock TARGET

 

#unLock

-Working Copy 나 Repository의 Lock을 해제합니다.

-svn unlock TARGET

 

#Revert

-commit을 하기 전 Working Copy의 상태로 복원합니다.

-svn revert PATH

 

#Cleanup

-Working copy의 디렉토리 잠금 삭제or 중단된 작업 수행합니다.

-svn cleanup [WCPATH]

 

#Status

-Working copy의 파일과 디렉토리 상태를 출력합니다.

-svn status [PATH]

 

#Relocate

-서버의 주소가 변경 되었을 때 사용합니다

-svn relocate OLD_URL NEW_URL

 

#Switch

-서버내의 다른 브랜치나 태그로 변경할 때 사용합니다.

-svn switch [URL] [BRANCH URL]

 

#svn switch --relocate 는 svn relocate와 같습니다.

 

#Upgrade

-Working copy에 메타데이터 Storage 포맷을 업그레이드합니다.

-svn upgrade [WCPATH]

 

#Copy

-파일과 디렉토리를 복사하는 명령어입니다.

svn에서 branch와 tag를 만들 때 특별한 명령어를 쓰는것이 아니라 그냥 Copy 명령어로 trunk를 복사하는 것입니다.

trunk나 branch, tag는 개념적으로 구분을 하는 것을 뿐입니다.

 

#Branch

-소스를 따로 분리하여 작업을 할 때 사용합니다.

-svn copy [URL] [BRANCH URL]

 

#Tag

-릴리즈하는 버전별 디렉토리를 만들어 사용합니다.

-svn copy [URL] [TAG URL]



 

728x90
반응형

'IT > SVN' 카테고리의 다른 글

[SVN] - 자주 쓰는 이클립스(STS) SVN 명령어  (0) 2021.02.01
[SVN] - 신입 SVN 사용법  (0) 2020.09.16

댓글