티스토리 뷰

생활코딩/TIP

svn 에서 git 로 이전하기

우봉이 2016. 12. 7. 16:16


회사에서 SVN을 사용하는데 프로젝트를 Git 으로 변경하기 위해서, 기존의 history를 같이 옮길 방법을 찾던 중

방법을 짤막하게 요약해보려고 합니다.


일단, Git 툴을 설치합니다.


깃 사이트 - https://git-scm.com/


저는 윈도우 10 에서 진행하였습니다.


한글로 번역된 git svn 관련 문서 - https://git-scm.com/book/ko/v1/Git%EC%9C%BC%EB%A1%9C-%EC%9D%B4%EC%A0%84%ED%95%98%EA%B8%B0-Git%EA%B3%BC-Subversion


옵션에 관한 Documentaion - https://git-scm.com/docs/git-svn


git svn 이란 명령어를 통해, svn 리파지토리의 데이터를 가져오거나, revision 을 선택하여, 업데이트 등이 가능합니다.


먼저, 폴더를 임의의 장소에 생성합니다.


폴더를 이동후 command 창을 열어서 아래와 같이  svn repository 주소를 입력해서 명령어를 입력하면 됩니다.


- git svn clone [svn repository 주소]


전체 히스토리에 대해서, 복사하는 명령어 입니다.


clone 명령어는 실제로 git svn init 과, git svn fetch를 순서대로 실행하는 효과를 가집니다.


clone을 하기 전, svn 원격 주소의 계정 정보를 요구할 수 있습니다.


svn 히스토리의 양에 따라서 시간이 오래 걸리거나 짧게 걸립니다.


trunk, branches, tags 등의 svn 디렉토리 구조를 가지고 있으시다면, 


- git svn clone [svn repository 주소] -T trunk -b branches -t tags 처럼 옵션을 줄 수 있습니다.

( 표준 SVN 디렉토리 형식과 동일할 경우 -s 옵션 하나로 해결할 수 있습니다. )


-r 옵션을 통해서, revision 범위를 설정할 수 있습니다.


- git svn clone -s -r1:HEAD [svn repository 주소]

( revision 1 ~ HEAD 까지 복사 )


최초 가져올 때, 특정 revision 을 가져올 경우에는


- git init [svn repository 주소]

- git fetch -r [시작:끝] 






댓글