초기의 replacement ref를 만들 수 있습니다 대부분의 자식은 자식에 시작된 역사는 SVN에서 수입 내역에 따라 지어진 것을 명령에 표시 하기 위해 자식에서 커밋.
다음과 같은 명령을 사용하여이 작업을 수행 할 수 있습니다
git checkout -b temporary <FIRST_GIT_COMMIT>
# Set parent of next commit to last one from svn,
# but don't change the working tree or contents of next commit
git reset --soft <LATEST_SVN_COMMIT>
# Create a new commit using contents and message of the first git commit
git commit -C <FIRST_GIT_COMMIT>
# Tell git to use the newly created commit in place of the original git
# commit in most cases.
git replace <FIRST_GIT_COMMIT> HEAD
그러나, 교체 참조가 밀거나 당기 중 리모컨에 사용되는 표준 refspecs 자동으로 전송되지 않습니다. 이상이 사용하여 수동으로 수행 될 수 있습니다
git push origin 'refs/replace/*:refs/replace/*'
git pull origin 'refs/replace/*:refs/replace/*'
원래 자식으로 생성 된 커밋마다의 커밋 ID를 변경하지 않고 자동으로 다른 저장소로 전송 변경된 역사를 가지고 할 수 없습니다.
출처
2013-05-10 04:31:07
qqx
"git-only"기록에 얼마나 많은 커밋이 있습니까? 왜 다시 쓰고 싶지 않니? 재 작성은 아마도 가장 깨끗한 해결책 일 것입니다. – Chronial