2010-08-11 6 views
4

업스트림 브랜치를 토픽 브랜치에 리베이스하려고 할 때 문제가 있습니다. 워크 플로는 다음과 같이이다 :토픽 브랜치에서`git rebase upstream-branch`로 치명적인 오류가 발생했습니다.

결과는 다음과 같습니다
git checkout upstream 
git pull origin upstream 
git checkout topic 
git rebase upstream 

: 어제 내게 일어난, 나는 내 연구를하고 결국 내가 git merge upstream을 사용하므로, 아무 것도 발견했습니다

First, rewinding head to replay your work on top of it... 
Applying Refactored database access and added logging 
error: patch failed: path/to/file1.ext:21 
error: path/to/file1.ext: patch does not apply 
error: path/to/file2.ext:3 
error: path/to/file2.ext: patch does not apply 
fatal: mode change for path/to/file3.ext, which is not in current HEAD 
Repository lacks necessary blobs to fall back on 3-way merge. 
Cannot fall back to three-way merge. 
Patch failed at 0001. 

git rebase upstream 대신 일을했습니다. 진짜 문제는 오늘도 오류가 나타납니다. 어제의 병합으로 인해 업스트림과 이미 동기화되었습니다. 또한 어제부터 팀원들이 소개 한 파일을 수정하지 않았습니다.

내 Git 버전은 1.5.6.5입니다. (실제로이 컴퓨터에서 업데이트 할 생각이 없습니다. 원하지 않는 결과가 두려워요.)

답변

9

--merge 옵션을 사용한 리베이스가 이러한 경우에 도움이된다는 것을 발견했습니다. 그럼에도 불구하고 Git은 rebase를 수행 할 것이다.

+0

감사합니다, 문제를 해결하는 것 같다. 글쎄, 갈등이 있지만, 그건 또 다른 이야기 야. 사용 –

+0

'통합 전략'나는 다음과 같은 오류가있을 때 너무 나를 위해 속임수를 썼는지 리베이스하기 : '오류 : 현재 HEAD 오류가없는 에 대한 모드 변경 : 가 (나는 '가짜 ancestor'을 구축 할 수 없습니다를 누군가에게 나를 위해 일한이 해결책에 대한 그들의 문제를 패턴 화하는 것을 돕기 위해 이것을 게시하는 것). 병합 전략을 사용하는 _not_ (이 문제를 해결 한 것으로 보이는 재귀 적 기본값)을 사용할 때 rebase가 무엇인지 확신 할 수 없습니다 ... – silasdavis

0

나는 똑같은 것을 가지고 있었는데, 메시지에 diff가있는 커밋 메시지 때문에 생긴 것으로 판명되었다.

아마 시도 : 자식 로그 --grep ++

... 그게 어떤지를 확인합니다 ..

관련 문제