꽃무늬 키보드

svn의 기본개념 본문

Version Controll/svn

svn의 기본개념

Katherine Choi 2014. 6. 9. 11:52


SVN의 기본 용어
  • 저장소(repository) : 모든 프로젝트의 파일이 저장되는 곳이다. 네트워크를 통해 여러 사람이 접근 가능하다.



  • 리비전(revision) : 파일을 수정하여 커밋하면 숫자가 증가한다. 저장소에 저장된 파일 버전이라고 할 수 있다.  
  • trunk : 모두가 공유하는 작업공간이다.
  • branch : 임시로 격리된 작업공간이다.
  • tag : 목표가 달성되었을 때 완료 순간의 빌드를 저장하고 유지하는 것이다. 즉, 프로그램 개발 시 정기적으로 릴리즈할 때 릴리즈한 것을 따로 저장하는 공간이다. 





SVN의 기본 명령어

  • 임포트(import) : 맨 처음, 버전관리를 하고자 하는 소스를 서버의 저장소에 넣는다.
  • 체크아웃(checkout) : 맨 처음, 서버의 저장소에 보관된 소스를 로컬로 가져온다.
  • 익스포트(export) : 체크아웃과 달리 버전관리 파일을 뺀 순수한 소스만 가져온다. 소스를 압축하여 릴리즈할 때 사용한다.
  • 커밋(commit) : 로컬에서 작업 후 변경된 소스를 서버의 저장소에 저장 및 갱신한다.
  • 업데이트(update) : 다른 사람이 변경하여 저장소와 로컬의 상태가 일치하지 않을 때, 최신상태를 유지하기 위해 서버의 저장소로부터 최신 소스를 가져온다. (체크아웃은 맨 처음 한 번, 업데이트는 수시로 하는 것)
  • 되돌리기(revert) : 로컬에서 수정한 것을 취소한다. (서버와 상관없다)
  • 병합(merge) : 내가 작업한 branch와 다른 사람이 작업한 branch를 병합한다. 협업 시에 각각의 개발자는 브랜치 작업을 하고 난 후 svn 서버의 trunk에 공유하게 된다. 그러나 서로 같은 파일을 수정하게 되면 병합할 때 충돌이 날 수 있기 때문에 다음과 같은 병합과정을 거치게 된다. 


[svn의 병합과정]


  • 상태(status) : 로컬에서 변경 후 아직 저장소에 commit 되지 않은 내용을 확인한다. 
  • 추가(add) : 프로젝트 파일이나 소스, 디렉토리를 추가한다. 반드시 svn commit을 해주어야 한다. 
  • 로그(log) : 누가 언제 무엇을 수정하였고 변경되었는지 확인한다.
  • 책임묻기(blame) : 소스별로 누가 언제 작성하고 수정한 것인지 확인한다.
  • 변경(diff) : 저장소의 내용과 현재 작업 내요을 비교하여 변경도니 부분을 자세히 확인한다.
  • 락(lock) : 파일 및 소스에 락을 걸어 락을 건 사용자만 수정할 수 있게 해준다. 해제는 svn unlock 이다.

'Version Controll > svn' 카테고리의 다른 글

윈도우에서 svn 사용하기  (0) 2014.06.20
리눅스에서 svn 사용하기  (0) 2014.06.10
Comments