Skip to main content

GitHub에서 병합 충돌 해결

충돌 편집기를 사용하여 GitHub에서 경쟁하는 줄 변경을 포함하는 간단한 병합 충돌을 해결할 수 있습니다.

사용자가 Git 리포지토리의 다른 분기에서 동일한 파일의 동일한 줄을 다르게 변경하는 경우와 같이 경쟁하는 줄 변경으로 인해 발생하는 GitHub의 병합 충돌만 해결할 수 있습니다. 다른 모든 유형의 병합 충돌의 경우 명령줄에서 로컬로 충돌을 해결해야 합니다. 자세한 내용은 "명령줄을 사용하여 병합 충돌 해결"을(를) 참조하세요.

경고: GitHub의 병합 충돌을 해결하면 끌어오기 요청의 전체 베이스 분기헤드 분기에 병합됩니다. 이 분기에 커밋하려는지 확인합니다. 헤드 분기가 리포지토리의 기본 분기인 경우 끌어오기 요청의 헤드 분기 역할을 할 새 분기를 만드는 옵션이 제공됩니다. 헤드 분기가 보호되면 충돌 해결을 병합할 수 없으므로 새 헤드 분기를 만들라는 메시지가 표시됩니다. 자세한 내용은 "보호된 분기 정보"을(를) 참조하세요.

  1. 리포지토리 이름에서 끌어오기 요청을 클릭합니다.

    리포지토리의 기본 페이지  스크린샷 가로 탐색 모음에서 "끌어오기 요청"이라는 레이블이 있는 탭이 진한 주황색 윤곽선으로 표시되어 있습니다.

  2. “끌어오기 요청” 목록에서 해결하려는 병합 충돌이 있는 끌어오기 요청을 클릭합니다.

  3. 끌어오기 요청의 아래쪽에서 충돌 해결을 클릭합니다.

    끌어오기 요청에 병합 충돌 있다는 경고의 스크린샷. "병합 충돌 해결" 단추가 진한 주황색 윤곽선으로 표시되어 있습니다.

    **참고:**충돌 해결 단추가 비활성화된 경우 끌어오기 요청의 병합 충돌이 너무 복잡하여 GitHub 간의 끌어오기 요청에 대해 충돌 편집기를 사용하지 않도록 설정했습니다. 대체 Git 클라이언트를 사용하거나 명령줄에서 Git을 사용하여 병합 충돌을 해결해야 합니다. 자세한 내용은 "명령줄을 사용하여 병합 충돌 해결"을(를) 참조하세요.

  4. 분기의 변경 내용만 유지하거나, 다른 분기의 변경 내용만 유지하거나, 두 분기의 변경 내용을 통합할 수 있는 완전히 새로운 변경을 수행할지 결정합니다. 충돌 표식 <<<<<<<, =======, >>>>>>>를 삭제하고 최종 병합에서 원하는 대로 변경합니다.

  5. 파일에 둘 이상의 병합 충돌이 있는 경우 다음 충돌 표식 집합으로 아래로 스크롤하고 4단계와 5단계를 반복하여 병합 충돌을 해결합니다.

  6. 파일의 모든 충돌을 해결했으면 해결됨으로 표시를 클릭합니다.

    끌어오기 요청의 병합 충돌을 해결하는 편집기의 스크린샷. "해결됨으로 표시" 단추가 진한 주황색 윤곽선으로 표시되어 있습니다.

  7. 충돌이 있는 파일이 둘 이상 있는 경우 페이지 왼쪽의 “충돌하는 파일”에서 편집할 다음 파일을 선택하고 끌어오기 요청의 병합 충돌을 모두 해결할 때까지 4~7단계를 반복합니다.

  8. 모든 병합 충돌을 해결했으면 병합 커밋을 클릭합니다. 그러면 전체 베이스 분기가 헤드 분기에 병합됩니다.

    끌어오기 요청의 병합 충돌을 해결하는 편집기의 스크린샷. "병합 커밋" 단추가 진한 주황색 윤곽선으로 표시되어 있습니다.

  9. 메시지가 표시되면 커밋하려는 분기를 검토합니다.

    헤드 분기가 리포지토리의 기본 분기인 경우 충돌을 해결하기 위해 변경한 내용으로 이 분기를 업데이트하거나 새 분기를 만들어 끌어오기 요청의 헤드 분기로 사용할 수 있습니다.

    새 분기를 만들도록 선택한 경우 분기의 이름을 입력합니다.

    끌어오기 요청의 헤드 분기가 보호되는 경우 새 분기를 만들어야 합니다. 보호된 분기를 업데이트하는 옵션은 표시되지 않습니다.

    분기 만들기 및 내 끌어오기 요청 업데이트 또는 이해했습니다. 분기 업데이트를 계속합니다를 클릭합니다. 단추 텍스트는 수행 중인 작업에 해당합니다.

  10. 끌어오기 요청을 병합하려면 끌어오기 요청 병합을 선택합니다. 다른 끌어오기 요청 병합 옵션에 대한 자세한 내용은 “끌어오기 요청 병합”을(를) 참조하세요.

추가 참고 자료