다음과 같은 문제가 있습니다 - SVN 리포지토리를 기반으로하는 Git 리포지토리에서 작업하고 있습니다. git svn clone path-to-repo
명령을 사용하여 SVN 저장소를 복제하므로 내 힘내기가 동일한 기록을 유지하고 공통 기반을 갖습니다. 복제 후, 나는 git remote add origin path-to-my-git-repo
을 사용하여 힘내 원격 저장소를 추가했다. 그런 다음 커밋을 적용하고 Git 리포지토리에만 푸시했습니다 (따라서 분명히 SVN에서 복제 된 커밋과 같은 git-svn-id
이 없습니다). SVN 저장소는 변경 될 때마다 (즉, 주어진 시간마다 업데이트 될 것입니다) 한 번에 업데이트되지 않습니다.하지만 다른 사람들과 함께 내 Git 저장소를 리베이스 할 수 있도록 프로젝트에 계속 연결해야합니다. SVN 저장소에만 커밋하십시오.2 개의 (Git 및 SVN) 리포지토리를 사용할 때 "작업 트리 기록에서 업스트림 SVN 정보를 확인할 수 없습니다"
모든 것이 멋지게 보였습니다. SVN repo를 복제하고, 리모트 하나를 추가했으며, 변경할 수 있었고, rebase 할 수 있었고, 필요할 때 Git이나 SVN 저장소에 변경 사항을 적용 할 수있었습니다.
문제는 여러 위치에서 복제 된 프로젝트가 필요하다는 것입니다. Git one (git clone path-to-repo target-directory
)을 복제하고 git svn init path-to-svn-repo --trunk="/"
명령을 사용하여 SVN 원격 저장소를 추가하면 SVN 저장소의 새로운 변경 사항으로 프로젝트를 리베이스 할 수 없습니다. 사용자 이름과 암호를 묻기 때문에 "연결중인 것 같습니다. 그러나"작업 트리 기록에서 상류 SVN 정보를 확인할 수 없습니다 "오류가 발생합니다. 덧붙여서 --trunk="./"
는 실수가 아닙니다. SVN 저장소는 브랜치, 태그, 트렁크를 가지지 않는 대신 코드가 직접 기본 디렉토리에 있습니다 (또는 최소한 git svn clone
을 사용하여 복제 된 것을 본 후에 보입니다. - 파일이 대상 디렉토리에 직접 있음).
SVN 저장소를 복제하여 프로젝트를 복제 할 때마다 수동으로 Git 1의 커밋을 추가하는 것은 옵션이 아닙니다.
내가 뭘 잘못하고 있니? 나는 어떤 도움이나 힌트를 주셔서 감사합니다.