2014-04-11 3 views
0

나는 그것을 얻지 못한다. 나는 지점이 production이고 지점이 master입니다. 어쩌면 내가 주인과 더 자주 합병해야했을 때 여러 해 동안 생산에 종사 해왔다.이 Git 충돌은 어디에서 발생합니까?

production's 마지막 커밋은 몇 시간 전이었습니다. master's은 몇 주 전이었습니다.

나는

git checkout master

git merge production

실행하고 나는 약 10 갈등이있다. 병합이 필요한 20 개의 파일

나는 그것을 얻지 않는다. 이 프로젝트를 진행하는 것은 저만의 문제입니다. 왜이 갈등을 겪고 있습니까?

두 개발자가 같은 코드를 동시에 편집 할 때 충돌이 발생한다고 생각했습니다. 내 production 분기의 코드는 분명히 내가 원하는 코드입니다. 너무 이상해. 나는 마스터에게 아주 행복하게 그리고 갑자기 이것을 합병 해왔다.

+0

동일한 코드를 편집하는 개발자가 반드시 두 명이는 아닙니다. 두 곳에서 변경된 코드입니다. Git이 당신이 원하는 것을 모르기 때문에 마스터와 프로덕션 환경에서 코드 라인을 변경하면 충돌이 발생합니다. –

답변

0

병합 충돌의 원인은 충돌하는 파일의 정보가 다른 것입니다. 파일을 병합하려면 공통 '기본'버전, 사용자가 서있는 버전 인 'ours'버전 및 병합 할 지점의 버전 인 'theirs'버전이 있습니다.

정말로 프로덕션 지점의 코드라고 생각하면 문제가 해결 될 것이라고 생각합니다. 마스터에 서서 :

다른 대안은 mergetool을 실행하고 올바른 변경 사항을 직접 선택하는 것입니다.

$ git mergetool