2010-03-29 3 views
4

배경git를 svn tree와 재 동기화하는 방법은 무엇입니까?

나는 전복을 사용하는 프로젝트에 몇 가지 기능을 추가 해요 - 나는 공식 최근 변화에 계속 내 로컬 저장소, 자식 - svn을 REBASE에 복제 자식-SVN을 사용하고 있습니다 트렁크 및 역사를 선형으로 유지.

최근 내 자신을 잊어 버리고 내 리바 더링을 엉망으로 만든 약간의 병합을 만들었습니다. 짧은 스토리를 짧게하면 체리 피크와 시간을 보내서 역사를 다시 선형으로 만들 필요가있었습니다. 1 rebase가 정상적으로 진행되었지만 git-svn rebase를 만들려고 할 때 역사가 선형 일지라도 2008 년 (약 700 커밋)의 Subversion 커밋간에 충돌이 있음을 보여줍니다.

질문

  1. 은/다시 SVN 트렁크 내 자식 저장소를 재 동기화하는 방법이 있나요?
  2. git/svn 폴더가없는 다른 컴퓨터에서 git 리포지토리를 복제하면 repo URL과 마지막으로 리베이스 된 리비전을 알고 svn을 사용하여 리베이스 할 수 있습니까?
+0

을하려면 전혀 rebase? 하루가 끝나면 패치를 보낼 것입니다. 맞습니까? – hasen

+0

@hansen - 음 .. 나는 공식적인 기고가가 아닙니다. 내 변경 사항을 github에서 호스팅하고 있습니다. 때로는 변경된 내용과 얻을 수있는 부분이 포함 된 메시지를 보낼 때가 있습니다. – kyrisu

답변

2

브랜치를 확실히 동기화 된 커밋 (일부 구버전)으로 재설정 한 다음 리베이스 (rebase)하여 동기화 할 수 있습니다.

는 전 분기 할 수 있습니다, 로컬 변경 사항을 저장 (하고 필요한 새로운 지점 afterwatds의 변경 체리 - 선택) 원격조차 귀찮게 왜 자식을 사용하지 않는 경우

git branch branch_with_my_changes 
git reset --hard very_old_commit_that_is_synced 
git svn rebase 
관련 문제