내 'trunk'브랜치의 최신 버전에 수명이 긴 브랜치 ('메트릭')를 리베이스하는 것이 문제가 있습니다. 목표는 내 변경 사항을 리베이스 한 다음 SVN에 다시 커밋하는 것입니다.이동 된 파일로 git-svn rebase를 해결하는 방법은 무엇입니까?
rebase에는 현재 75 단계가 있고 40 단계는 svn에서 재배치 된 파일에 중요한 소스 코드 변경 사항을 적용하고 있습니다.
특히, 나는 /java/**/*.java에서 파일을 많이 변경했다. 한편, 이들 파일은 /src/main/java/**/*.java로 재배치되었습니다.
자식의 상태를 보여줍니다이 상태에서 900 개 파일에 걸쳐 있습니다
# Not currently on any branch.
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
#
# Unmerged paths:
# (use "git reset HEAD <file>..." to unstage)
# (use "git add/rm <file>..." as appropriate to mark resolution)
#
# added by them: java/StripesResources.properties
.... (many files like this)
# both deleted: src/StripesResources.properties
.... (many files like this)
# added by us: src/main/java/StripesResources.properties
.... (many files like this)
, 내가 그들을 병합하기 위해 무엇을 할 수 있습니까? 그들 모두가 상당한 변화를 겪지는 않습니다.
나는 '우리'위치 (그들이 있어야하는 곳)에 파일의 '그들'버전을 복사/복사하려고 시도했지만 작동하지 않는 것 같습니다.
이 경우 'git mv'를 사용해야합니까?
감사합니다.
이것은 어려운 문제로 들립니다. 브랜치를 병합하기 전에, (복사본)의 히스토리를 변경해야만 파일이 트렁크의 새로운 위치로 옮겨져 업데이트가 적용됩니다. – antlersoft
파일은 이미 올바른 위치에 있습니다. 트렁크에서 내 '메트릭'스트림으로 이러한 변경 사항을 병합 (리베이스되지 않은 것) 한 것 같습니다. 따라서 파일은 이미 올바른 위치에 있습니다. 하지만 자식은 그것을 인식하지 않는 것 같습니다. – JBCP
병합이 어떻게 정리되는지는 중요하지 않습니다.이를 수행하여 인덱스에서 변경 사항을 얻을 수 있다면 리베이스를 계속할 수 있어야합니다. git이 실제로 혼란 스럽다면 두 트리의 복사본 (예 : diff3 사용)에서 리베이스 트리로 파일 별 병합을 수행하고 git mv를 수행하는 스크립트를 작성해야 할 수도 있습니다 병합 된 파일을 어디에 두어야하는지. – antlersoft