2011-10-26 5 views
6

git rebase가 충돌을 발견했지만 파일에 명백한 문제가없는 것은 무엇을 의미합니까? 해당 파일에는 충돌 표시가없고 git mergetool은 "병합하지 않음"이라고 말합니다.Git 리베이스가 병합 할 것과 충돌합니까?

옵션은 내가 또는 를 추가 재설정 한 :

# Unmerged paths: 
# (use "git reset HEAD <file>..." to unstage) 
# (use "git add/rm <file>..." as appropriate to mark resolution) 
# 
# both modified:  filename.js 

어떻게이 약 어느 길을 갈 수있게 무엇인지 찾을 수 있습니까? 이 명령은 우리에게 모드 비트, 오브젝트 이름 및 무대 번호를 알려줍니다, 미세 매뉴얼에 따르면

100644 d2c915b1d632b8ef8fbcf056824fb7fac7824ab9 1 filename.js 
100644 9010798f1d19ac712196b1fc9b0870fd332b1275 2 filename.js 
100644 b3ab7ec50812c73a3ec97bf0985f3226ec13cbc8 3 filename.js 

:

git ls-files -s filename.js는 3 개 행을 제공합니다. 모드 비트는 동일합니다. 그렇다면 1, 2 및 3은 무엇이며 왜 둘 다 "수정"되었지만 충돌 표시가 나타나지 않는 이유는 무엇입니까? 인덱스의

+1

공백 차이가있을 수 있습니다. – birryree

+0

버전이 실제로 다른지 확인하려면'git ls-files -s filename.js'를 시도하십시오. –

+0

@ JoshLee 귀하의 의견에 대한 답변으로 제 질문을 업데이트했습니다. 결과는 3 개의 얼룩을 보여 주지만 그곳에 가야할 곳이 어디인지, 어떻게 차이점을 발견 할 것인가, 또는 어떤 것이 "추가"또는 "재설정"되는지 어떻게 알 수 없습니까? –

답변

7

버전은 표시 1, 23는 다음과 같은 의미를 갖는다 :

  1. 당신이 합병하고있는 두 커밋의 공통 조상 있다는 파일.
  2. 파일이 HEAD 인 즉, 병합을 수행 할 때 현재 커밋 한 파일입니다.
  3. HEAD에 병합하려는 커밋의 파일입니다.

이 정보의 출처는 the git manual's useful section on resolving conflicts입니다.

git status에 출력 된 both modified은 물론 공통 조상 이후로 병합중인 두 커밋으로 파일이 다른 방식으로 변경되었음을 나타냅니다.

파일에 충돌 마커가 표시되지 않는 이유는 무엇입니까? - 블롭의 출력에 다른 객체 이름 (해시)이있는 것은 git ls-files -s인데, 이는 확실히 바이트 단위로 표시됩니다. 다른 콘텐츠. 파일이 작업 복사본에있는 것처럼 만족한다면 git add filename.js을 수행 한 다음 git rebase --continue을 수행하면됩니다. 그러나 어쨌든 그 차이가 무엇인지 알아 내야 할 수도 있습니다. 이를 위해, 나는 다음을 시도합니다 :

git diff :2:filename.js filename.js 

... HEAD의 버전 사이의 차이점과 현재 작업 복사본을 보여줄 것이다. 마찬가지로 시도 할 수 있습니다 :

git diff :3:filename.js filename.js 

... 병합중인 버전과 작업 복사본의 차이점을 확인하십시오.

1

1, 2git ls-files -s33-way merge의 "단계"를 나타냄 1 공통 조상, 2 현재 분기 HEAD이고 3 다른 분기 HEAD이다.Linux에서 다음 명령을 사용하여 파일간에 다른 점을 확인할 수 있습니다.

$ git cat-file blob d2c915b1d632b8ef8fbcf056824fb7fac7824ab9 | xxd -ps 
$ git cat-file blob 9010798f1d19ac712196b1fc9b0870fd332b1275 | xxd -ps 
$ git cat-file blob b3ab7ec50812c73a3ec97bf0985f3226ec13cbc8 | xxd -ps 
관련 문제