기타

SVN을 Git으로 옮기기

Bonita SY 2019. 9. 25. 19:52
728x90
반응형

변경할 SVN 주소 = svn://${IP 주소}/${svn 저장소}

ex) svn://127.0.0.1/svnserver

 

 


(1) SVN 소스를 git으로 clone!

git svn clone ${SVN 저장소 주소} --no-metadata 


* --no-metadata : Subversion의 메타데이터 저장하지 않겠다는 뜻

아이디와 비밀번호가 존재한다면 --username ${user_id} 추가하고 비밀번호 입력

 

ex)

git svn clone svn://127.0.0.1/svnserver --no-metadata  --username

 

 

 


(2) clone 받은 'svnserver' 폴더 내 .git/refs/remotes/origin/tags가 존재한다면!
cp -rf .git/refs/remotes/origin/tags/* .git/refs/tags
rm -rf .git/refs/remotes/origin/tags

 

 


(3) clone 받은 'svnserver' 폴더 내 .git/refs/remotes 아래 파일이 존재한다면!
cp -rf .git/refs/remotes/* .git/refs/heads
rm -rf .git/refs/remotes

 

 


(4) Git repository 설정 추가!

git remote add origin ${SVN 소스를 담고 싶은 git repository 주소}


ex)

git remote add origin git@127.0.0.1:gitserver.git 


 

 

 

(5) 설정이 제대로 됐는지 'svnserver' 폴더 내 .git/config 파일 확인 !
[remote "origin"]
  url = git@127.0.0.1:gitserver.git  
  fetch = +refs/heads/*:refs/remotes/origin/*

 

* 설정한 대로 위에 처럼 추가되어있으면 완료~

 

 


(6) SVN 소스를 Git repository에 push!

git push origin --all

 

 


(7) 정상적으로 전환됐는지 clone을 통해 확인!

git clone ${SVN 소스를 담은 git repository 주소}

 

ex)

git clone git@127.0.0.1:gitserver.git 
728x90
반응형