Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 태국
- Photo
- Sea
- 여름휴가
- 파타야
- 스튜디오
- 스냅
- pattaya
- honeyJar
- Thailand
- commit
- 체크아웃
- Photograph
- 바다
- honeyJarStudio
- revision
- Street
- snap
- 여행
- Thai
- travel
- Studio
- 사진
- REST
- svn
- 리비전
- 커밋
- checkout
- 꿀단지스튜디오
- 촬영
Archives
- Today
- Total
꽃무늬 키보드
svn의 기본개념 본문
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