개발도구/소프트웨어 형상관리(SCM)

svn to bitbucket migration with history

노루아부지 2022. 2. 22. 18:14

SVN(Subversion)을 사용하다가 Git로 형상관리 도구를 변경해야 하는 상황이 되어 history를 포함해서 마이그레이션이 가능한지 찾아봤습니다.

bitbucket으로 마이그레이션 하는 방법은 다음과 같습니다.

  1. svn 서버에서 사용자 목록 생성
  2. 클라이언트에 git install
  3. svn -> git
  4. bitbucket repository 생성
  5. bitbucket에 push

 

 

다음은 자세한 방법입니다.

 

 

1. SVN이 설치된 서버에서 사용자 목록 생성

 

  1. Windows의 경우 VisualSVN Server 실행
  2. Users에서 마우스 오른쪽 클릭
  3. 내보내기 선택 (파일명: users.txt)
  4. 다음과 같이 내용 변경
    jhyun = noroo youn <yjh5369@test.com>
    VisualSVN Server = noroo youn <yjh5369@test.com>
    양식은 다음과 같습니다.
    [svn 계정] = [first name] [last name] [<bitbucket 계정(이메일)>]

    svn 계정 중 퇴사한 사람 등도 현재 팀원 중 하나로 대체합니다.
    따라서 여기서는 VisualSVN Server도 제 계정으로 대체한 모습입니다.

 

2. git 설치

 

  1. git 공식 홈페이지에 접속합니다.
  2. OS를 선택합니다.

  3. git를 다운로드 받고 설치합니다.

 

 

3. svn -> git

  1. 다음 명령어를 실행하여 svn의 데이터 clone
    git svn clone <svn 경로> --no-metadata -A users.txt
    ex) git svn clone http://192.168.0.1/svn/test/trunk --no-metadata -A users.txt

4. Bitbucket repository 생성

  1. BitBucket 로그인 후 Repositories 메뉴 클릭

  2. 오른쪽 끝의 Create repository 버튼 클릭
  3. Project > Create new project 클릭
  4. 나머지 내용 입력 후 Create repository 버튼 클릭

 

5. Bitbucket에 push

  1. SourceTree install
  2. SourceTree에서 [파일 > 열기] 클릭 후 clone 받은 경로 선택
  3. bitbucket에서 repository 생성
  4. SourceTree에서 [저장소 > 저장소 설정] 메뉴 클릭
  5. 저장소 설정 메뉴에서 bitbucket의 repository 경로를  추가
  6. [저장소 > 푸쉬] 메뉴 클릭
  7. 현재 브랜치 체크 박스 선택 후 Push 버튼 클릭
728x90
loading