2012-01-06 3 views
1

우리는 원격 svn 저장소가 있고 그것을 git으로 변환하기를 원합니다. Windows에서 어떻게 할 수 있습니까? 감사합니다.Windows에서 svn 저장소를 git으로 변환하는 방법

+1

가능한 복제본 [Git-svn windows 클라이언트가 TortoiseSVN과 같은가요?] (http://stackoverflow.com/questions/894360/is-there-a-git-svn-windows-client-something-like -tortoisesvn), 특히이 답변은 적용 가능합니다 : http://stackoverflow.com/a/1090761/19746 – Piskvor

+0

TortoiseGit은 git client 일뿐입니다. 저장소에 대한 변환 된 svn 저장소에 대해 물었다. – Oleg

+0

@userwhatever : 두 번째 링크를 클릭하거나 읽지 않았으므로 (nb : "해당되는 항목"으로 인용 됨) 숟가락 피드를 보내주십시오. "TortoiseGit (http://code.google.com/p/tortoisegit /)는 릴리스 0.8.1.0에서 git-svn에 대한 기본 지원을 추가했습니다. " 그게 * 어떻게 적용되지 않습니까? 구체적으로 말하십시오. – Piskvor

답변

0

git-svn은 svn 저장소를 git 저장소로 변환 할 수있는 도구입니다. 자세한 내용은 git documentation을 참조하십시오.

+0

Windows에서 작동합니까? – Oleg

+0

http://stackoverflow.com/a/351321/295756 예. – hoppa

+0

죄송합니다. 나는 너를 이해할 수 없다. 좀 더 설명해 주시겠습니까? – Oleg

0

Windows에서 응용 프로그램을 설치합니다

  • TortoiseGit
  • SVN 저장소 URL을 찾아

    뭔가 같이 복사 : 대화
    enter image description here

    호출 TortoiseGit 복제

    맞 t 대상 폴더를 클릭하십시오. D:\SVN\ToGit 및 클릭 Git Clone...
    enter image description here

    확인 먼저, 다음 복제 대화 상자를 호출하는 URL을 복사 한 경우

    enter image description here

    은 TortoiseGit 클립 보드 및 붙여 넣기에서 복사 된 URL을 얻을 것이다 From SVN repository 확인란 URL 텍스트 필드에 입력하십시오. 그래서, 당신은 스스로 그것을 붙여 넣지 않습니다. 올바른지 살펴보기 위해 살펴보십시오.

    그리고 대상 폴더를 마우스 오른쪽 버튼으로 클릭하면 TortoiseGit도 Directory 텍스트 필드를 채 웁니다. 또한 그것이 원하는 것인지 확인하십시오.

    따라서 From SVN repository 체크 박스를 선택하십시오.

    그리고 svn 저장소에 표준 레이아웃이있는 경우 트렁크, 태그, 분기 등을 추가로 수행 할 필요가 없습니다.

    확인 버튼을 클릭 저장소를 이눔하는 SVN 저장소를 복제하기 시작하고, 그런 다음

    를 이동합니다. 이 같은
    뭔가 :

    enter image description here

    당신이 볼 수 있듯이, TortoiseGit은 제대로 복제 Windows 명령 git svn clone에 대한 힘내을 사용합니다.

    git.exe svn clone "svn://svn.code.sf.net/p/tortoisesvn/code/" "D:\SVN\ToGit\tsvn" -T trunk -b branches -t 
    

    그래서, 기본적으로, 당신은 힘내 배쉬/CMD 갈 수 및 재사용 라인을 명령하고, 또한 동일한 결과를 얻을.

    참고 : r1, r2, r3을 볼 수 있습니다 있다면 ... 당신은 언제든지 복제를 중지하고 같은 명령 줄을 사용하여 나중에 다시 시작할 수 있습니다.


    복제 2.4.4+

    TortoiseGit 와 로컬 SVN 저장소

    그냥 복제 대화 상자의 URL에 svn의 로컬 경로를 복사합니다. 참조 :
    enter image description here
    가 다시 From SVN repository 체크 박스를

    복제를 확인 :
    enter image description here

    TortoiseGit 2.4.4+ 로컬 SVN 저장소를 복제 file:/// 프로토콜을 사용합니다.


    git 저장소를 얻은 후에 거기에서 커밋 할 수 있습니다. 그리고 TortoiseGit ->SVN DCommit...과 같은 것 (svn commit)을 사용하여 커밋을 원래 svn 저장소로 푸시합니다.

    enter image description here

    당신이 볼 수 있듯이

    enter image description here

    명령은 git svn dcommit입니다.

    그리고

    원점 SVN 저장소가있는 경우 새로운 커밋 (들) 당신이 커밋 SVN을 가져 SVN Rebase TortoiseGit ->을 사용하고 병합/최신 커밋에서 리베이스 수, 업데이트해야합니다. svn update과 같은 것입니다.

    enter image description here

    그런 다음 git svn fetch 사용/병합 페치 변경하는 git rebase 리베이스를 사용한다.

    enter image description here

    명령 행의 경우, 당신은 단지 git svn rebase를 사용할 수 있습니다.


    자세한 내용과 예제는 Pro Git v2 - Chapter 9을 참조하십시오.

    관련 문제