Patch

    파일에 적용된 수정 사항을 포함하는 텍스트 파일
    어떤 파일을 변경 한 상태에서 다른 개발자가 파일을 커밋하지 않고 특정 파일에 대한 변경 사항을 알기를 원할때
    패치 파일을 이용하여 변경 사항을 볼 수 있게 할 수 있다.

SVN PATCH 1.pngSVN PATCH 2.pngSVN PATCH 3.png





Merge[편집]

개발자들이 구현한 소스를 하나로 합칠때 사용 Merge a range of revisions : merge 하고자 하는 최신 리비젼의 수정된 일부분을 지정해서

merge하는 방법 부분, 통합 merge 가능

Reintegrate a branch : 현 위치의 2개의 branch의 차이점을 병합하기 위해 사용, 재통합 대안으로 사용 가능

SVN MERGE 1.PNG


SVN MERGE 2.PNG


SVN MERGE 3.PNG


SVN MERGE 4.PNG



Shelve

     작업하던 소스를 적용하지 않고, 잠시 다른 작업을 해야 할 때 백업을 해주는 기능 ( 1.10.1.28295 version 부터 지원 )


SVN SHELVE 1.pngSVN SHELVE 2.png



SVN SHELVE 3.pngSVN SHELVE 4.png



Unshelve

    Shelve 했던 부분을 다시 불러오게 할 때 사용하는 명령어


SVN UNSHELVE 1.pngSVN UNSHELVE 2.png



SVN UNSHELVE 3.png

되돌리기


revert : 로컬에서 작업을 하다가 문제가 되어 원상 복귀를 하고싶을 때 사용


SVN REVERT 1.png


SVN REVERT 2.png



추가하기


  폴더 또는 파일 등을 추가 할 때 사용


브라우저에서 바로 추가 : local에 추가된 파일을 svn server에 드래그 앤 드롭 후 업데이트 명령 실행


SVN ADD DRAG 1.PNGSVN ADD DRAG 2.PNG



add -> commit 하기 : locap에 파일 추가후 commit 명령 실행


SVN ADD 2.png

SVN ADD 1.png



SVN ADD 3.png



변경사항 적용


commit : 본인이 작업한 소스를 서버에 적용 할 때 사용


 SVN COMMIT 1.png

SVN COMMIT 2.png






update : 다른 개발자가 SVN 서버에 commit한 소스를 local에 적용 할 때 사용


SVN UPDATE 1.png


SVN UPDATE 2.png







update to revision : 사용자가 지정한 버전으로 업데이트


SVN UPDATE TO REVISION 1.png



SVN UPDATE TO REVISION 2.png

SVN UPDATE TO REVISION 3.png






내려받기[편집]


  • checkout : 소스코드 공동 작업을위해 최초로 내려 받을 경우에 사용, export와는 달리 버전관리 정보가 저장된 [ .svn ] 폴더를 포함하여 소스를 받아 옴,
    SVN CHECKOUT 1.png 
 SVN CHECKOUT 2.png
SVN CHECKOUT 3.png
  • export : 주로 배포용으로 사용, 버전관리를 위한 부속 파일들이 제외된 순수 소스만 받아 옴


  SVN EXPORT 1.png
SVN EXPORT 2.png
SVN EXPORT 3.png



* 공통부분

사용자가 이전 버전의 소스를 필요로 할 경우 해당 리비전 내려받기 가능


    SVN CHK+EXPORT.png




SVN이란?

SVN은 SubVersion의 줄임말로 형상관리/소스 관리 툴이다
하나의 서버에서 소스를 쉽고 유용하게 관리할 수 있게 도와주는 툴


형상관리란? (Software Configuration Management)

개발 및 유지보수 과정에서 발생하는 소스코드, 문서, 인터페이스 등 각종 결과물에 대해 형상을 만들고, 이들 형상에 대한 변경을 체계적으로 관리, 제어하기 위한 활동

SVN의 사용목적 정리

SVN의 사용목적은 아래와 같습니다. 각 사용목적의 순서가 중요도를 의미하지는 않습니다.

  1. 항상 배포 가능한 제품 소스를 유지
  2. 작업 내용과 변경된 소스의 연관성 유지
  3. 다수의 개발자가 각자 작업한 내용을 통합하여 최신 형상을 유지 관리
  4. 공통된 소스를 공유함으로써 중복개발 문제하고, 최신 형상의 모호성을 해결
  5. 예전 버전의 파일 복원
  6. 수정한 부분의 검증 (코드 리뷰 기능)

SVN의 용어 정리

  • Revision: 수정 후 Commit을 하면 숫자가 증가 / 저장소에 저장된 파일 버전을 의미
  • Repository: 프로젝트 파일 및 변경 정보가 저장되는 장소
  • Import: 빈 Repository에 맨 처음 파일들을 채우는 것
  • Export: 버전 관리 파일들을 뺀 순수 파일만 빼내는 것
  • Checkout: 저장소에서 최신 버전의 소스코드를 최초로 받아오는 것 / Repository에서 프로젝트 관련 파일들을 받아온다
  • Update: 로컬 저장소에 있는 파일들을 저장소의 최신 버전으로 받아 오기
  • Commit: 로컬 저장소의 변경된 내용을 서버로 전송 / Checkout한 파일의 수정사항을 갱신
  • Revert: 로컬 저장소의 내용을 이전 상태로 돌림
  • Add: 버전관리 대상으로 파일 등록
  • Shelve : 로컬 작업 내용을 잠시 백업하는것
  • Trunk: 개발 소스를 commit 했을 때 개발 소스가 모이는 곳 / 프로젝트에서 가장 중심이 되는 디렉토리, 소스와 파일 포함
  • Branch: trunk에서 분리/복사한 소스로 버전별 배포판을 만들거나 trunk와 별도로 운영환경을 위한 안정화된 소스 관리 목적으로 사용
  • Tag: 특정 시점의 상태 보존 목적으로 사용 장기적으로 1.0, 1.1 등 버전 별로 소스 코드를 따로 저장 특정 시점에서 프로젝트의 스냅샷을 찍어두는 것
  • Merge: 내가 작업한 부분과 다른 사람이 작업한 부분을 병합 한다.



+ Recent posts