2012-02-13 5 views
0

최근에 나의 자식 저장소에 일부 변경 사항을 가져 왔습니다. 나 자신과 다른 개발자는이 저장소의 유일한 사용자입니다.병합 후 충돌 마커

수많은 파일에 충돌 표시가 있습니다.

이전 병합 결과입니다.

commit 9097034d1fab59d83aca2224dd86d8faee871350 
Merge: 428bbf0 dcdcae6 

그러나 다른 개발자는 자신의 끝에 충돌 마커가 없다고 말합니다.

나는 이것이 어떻게 일어날 수 있었는지 혼란스럽고, 그가 어떻게 문제를 보지 못한다고 말하면 혼란 스럽습니다. 개발자가 병합에 충돌이 있었지만 강제 커밋을 한 경우 파일의 충돌 버전을 커밋하는 유일한 방법이 될 것입니다.

그러나 충돌을 먼저 수정하지 않으면 git이 병합 커밋을 생성한다고 생각하지 않았습니다.

어떤 작업으로 인해 충돌 표시자가 커밋 될 수 있다고 생각하십니까?

답변

1

당신이 충돌을 해결했다고 말하면 충돌 마커의 존재 여부를보기 위해 파일에서 찾지 않습니다. 당신이하고있는 일에 대해 생각하지 않는다면 그들을 저지르기가 쉽습니다. 단지 git merge, 충돌을 얻으십시오, 무시하십시오, git add ...; git commit. 이 작업을 수행하지 마십시오.

다양한 저장소를 사용하는 상황에서는 여기에서 대답하는 것이 불가능하지만 차이점이 커밋되지 않은 변경 사항이 아니라고 가정하면 특정 개발자와 다른 개발자가 다른 커밋을보고 있다는 것입니다. (당신은 둘 다 각각의 마스터 브랜치에 있습니까?) 아마도 당신이하고 싶은 것은 동시에 모든 것을 모두 보는 것입니다. 다른 개발자 저장소를 리모컨으로 직접 추가 할 수 있다면 그렇게하십시오. 그렇지 않으면, 현재 지회를 대표하는 임시 지사를 만들고 그를 중앙 저장소로 밀어달라고 요청하십시오. git fetch --all을 실행하여 모든 것을 가져온 다음 모든 브랜치의 기록을 보려면 gitk --all 또는 gitk master origin/master origin/his-temp-branch (또는 리모컨으로 추가 한 경우 gitk master origin/master his-repo/master)을 사용하십시오. 불일치가 발생합니다.