-
SVN 사용하기 (CLI, svn branch)개발 2023. 3. 24. 10:27
Git만 사용해보다 이번에 투입된 프로젝트에서 처음으로 SVN을 사용해봤더니 처음엔 낯설고, 왜 바로 원격으로 바로 올라가는지 등 다소 난해했다. 오히려 어렵게 생각했던 것 같은데, 의외로 사용하기 단순해서 하루이틀 정도만 써보면 금방 익숙해질 것 같긴 하다. conflict는 조금 더 해결해봐야 알겠지만...
관련해서 찾아보았던 내용들과 svn 사용 방법을 정리해보았다.
기본적으로 git을 사용해봤다는 전제로 쓰여졌기 때문에, 형상관리에 관해서는 따로 찾아보는 것이 좋을 것 같다.
Tottoise SVN Client를 사용하면 GUI 환경에서 조금 더 편리하게 이용할 수 있다. 특히 Revert나 Conflict 같은 건 개인적으로 GUI툴로 사용하는 게 더 편했다. 나는 이 툴을 먼저 설치했고, 설치 중에 Command Line interface 설치 옵션을 체크해서 cli도 함께 설치했다.
1. 사전 환경
- svn repository 생성 필요
- svn cli 설치
1-1. References
SVN 개념이 아직 와닿지 않는다면 아래 블로그 내용들을 추천한다. 내 경우 한 번 읽어보고, 직접 해본 뒤에 다시 읽어보니 많은 부분이 이해되었다. 역시 직접 해보는 게 좋다.
2. SVN 사용하기
2-1. Update
- Checkout (svn 프로젝트 받기, 최초 1회)
svn checkout https://bear/svn/trunk-test/
- UPDATE
svn update
2-2. Branch
- branch 생성
svn copy https://bear/svn/trunk-test/ https://bear/svn/trunk-test/branch-1 -m "Create a new branch"
- 해당 branch로 전환
svn switch https://bear/svn/trunk-test/
2-3. Add & Commit
- 작업 후 add(git staging 같은) & commit(바로 원격 저장소로 push됨, revision 카운트 증가)
> svn add * > svn commit -m "Add some files"
2-4. Merge
- dry-run으로 선확인 후 merge, commit 할 것
- switch 시 update 함께 수행됨
> svn switch https://bear/svn/trunk-test/ > svn merge https://bear/svn/trunk-test/branch-1 --dry-run > svn merge https://bear/svn/trunk-test/branch-1 > svn commit -m "Merge changes from branch-1"
- branch 삭제하는 방법
> svn delete https://bear/svn/trunk-test/branch-1 > svn commit -m "Delete branch-1"
2-5. Log
- 개수 제한해서 보기
> svn log -l 10
- 현재 트렁크에 업데이트 되지 않은 범위 보기
> svn log -r BASE:HEAD
- 특정 영역 히스토리
> svn log -r [revision number]:HEAD
2-6. Status
> svn status > svn status [filename]
'개발' 카테고리의 다른 글
[ChatGPT] 터미널 AI shell_gpt 소개 (0) 2023.03.29 개발 생산성을 높이는 원자적 커밋(Atomic commit) (0) 2023.03.22 Java #validation api - custom constraints 추가, 조건부 검증 (0) 2022.10.23