메뉴 닫기

SVN to GIT 서브버전(subversion repository)을 git 으로 이전하기

SVN 에서 형사관리 되고 있는 내용을 고스란히 GIT으로 옮기는 방법이 없을 까? 찾던중 Tortoise GIT을 이용하여 쉽게 처리하는 방법을 찾았다.
다른 링크를 보려면 소스관리(SVN,GIT) 를 클릭하세요
SVN을 GIT으로 옮기는 방법은 다음의 순서대로 따라하면 됩니다.ㅇ

  1. SVN Repository 의 Project를 선택하여 Local Git으로복사

    먼저 GIT Clone을 선택하여 SVN Repository의 Project를 Local Git으로 복사 합니다.
    Git의  Clone 메뉴를 선택 합니다.

    UI화면에서
    URL에는 SVN Repository 에 있는 Project를 선택 합니다, SVN 툴로  Repo-Browser를 선택하여 정상연결되는지 확인 합니다.
    예)https://xxx/svn/xxx
    Directory에는 Git이 복사될 폴더를 선택합니다.

    UI하단에 From SVN Repository를 Check(선택) 하고 아래에 있는 옵션 Trunk,Tag,Branch 옵션을 해제 합니다.
    그런다음 ‘OK’를 눌러서 SVN을 Local Git으로 복사 합니다.

    정상적으로 완료되면 그림과 같이 성공했다는 Log가 보일 것입니다.

  2. GIT 서버 Project 생성

    Gitlab으로 옮기기 위해서는 Gitlab에 Project(Repository)를 생성합니다. Push(SVN에서 가져온 Local Git을 Server에 적용)될 대상 이 있어야 합니다.
    Gitlab 서버에 로그인한 후 프로젝트에서 ‘new Project’를 클리합니다.

    프로젝트 이름과 설명을 추가 한 다음 ‘Create Project’를 눌러 프로젝트를 생성합니다.

    정상적으로 등록 되었으면 생성된 Project의 URL을 잘 기억해 놓거나 복사해 둔다.

    이 URL로 Local GIT에서 전송하여 Update 될 것 이기 때문에 중요 하다.

  3. GIT으로 Push,Sync

    Local Git Repository에서 Server로 내용을 동기화 시키기 위해서.  로컬 Tortoise Git 메뉴에서 ‘Push‘메뉴를 선택 한다 .

    그리고 Push All branches를 Check하고 Server 의 Project URL 을 입력한 다음 ‘OK’를 누르면

    Server로 소스가 전달되어 동기화 된다.
    다른 방법으로 Sync->Push 를  실행하여 서버와 동기화 시키는 방법이 있다.

    Remote URL에 Gitlab Server의 Project URL을 입력하고 ‘Push’를 눌러 서버 프로젝트와 동기화 시킵니다.
    Remote URL은 “http://server IP/user/ProjectName”,”http://server IP/user/ProjectName.git” 등과 같이 지정할 수 있습니다.

  4. GIT 서버 Project Push 상태 확인

    익스플로러로 Remote URL에  연결하여 정상적으로 동기화 되었는지 확인합니다.
    정상완료되면 SVN에 있던 Comment들이 GIT Server에도 똑같이 반영되어 있는 것을 볼 수 있습니다.

Tortoise GIT은 SVN과도 연동되어 작업이 가능합니다 . SVN 서버에서 받아와야 할 경우에는 Git-svn rebase 를 사용하여 Update할 수 있습니다.
SVN 서버에 보내야 할 경우에는 Git-svn Decommit 를 실행하여 Commit을 할 수 있습니다 (Normal SVN Commit 설정)

댓글 남기기

이메일은 공개되지 않습니다.