2010-01-21 3 views
0

내 프로젝트는 SVN에서 관리하는 버전이다. 나는 많은 수의 리팩터링을해야했다. 이를 위해 필자는 작업 공간을 가져 와서 새로운 git 저장소를 만들었습니다. 이후에 나는 리팩터링을 만들고 가능한 한 자주 지역 저장소에 맡기고 지사를 만들었다.기존의 git 브랜치와 이전의 알려지지 않은 SVN을 합치는 것

한편 누군가 SVN에 위탁했다. 이제 SVN에 내 변경 사항을 커밋하고 싶습니다. git-svn clone을 통해 SVN을 추가하면 추적 된 파일이 같더라도 복제본과 기존 분기를 병합 할 수 없으므로 (공통 상위 조상이 없음) 도움이되지 않습니다.

SVN 링크를 추가하거나이 조상을 만들 가능성이 있습니까?

+0

변경 사항을 적용하기 전에 "git svn rebase"를 시도 했습니까? –

답변

0

일종의 더러운 해킹이지만, 모든 커밋을 rebase을 사용하여 제거하면 통합 변경이 단지 cherry-pick 개일 수 있습니다.

업데이트 : rebase을 사용하여 리팩토링 한 분기의 루트를 이동하여 repo를 추적하는 분기에서 분기하도록 시도해 볼 수 있습니다.

업데이트 2 : ndim에 의하면, 찾고있는 rebase 옵션은 아마도 --onto입니다.

+0

아마'git rebase ... --onto ... '가 루트를 움직일 것입니다. – ndim