주요 콘텐츠

SVN 소스 컨트롤 충돌 문제 해결하기

두 명의 사용자가 서로 다른 SVN 작업 폴더에서 동일한 파일을 변경한 경우, 변경 내용을 커밋하기 전에 작업 폴더를 업데이트하면 충돌이 발생할 수 있습니다.

충돌을 해결하려면 다음과 같이 할 수 있습니다.

  • 비교 툴을 사용하여 수정본 사이의 변경 사항을 병합합니다. 자세한 내용은 충돌 문제 해결하기 항목을 참조하십시오.

  • 편집기에서 파일을 편집하거나 파일을 덮어써서 수동으로 변경합니다. 비교 툴을 사용하여 충돌을 해결하지 않는 경우 변경 내용을 커밋하기 전에 충돌한 파일을 해결 상태로 표시해야 합니다. 소스 컨트롤 패널에서 파일을 마우스 오른쪽 버튼으로 클릭하고 충돌을 해결 상태로 표시를 선택합니다.

충돌 문제 해결하기

파일 내 충돌을 해결하려면 다음 단계를 따르십시오.

  1. 소스 컨트롤 패널의 수정된 파일 목록에서 빨간색 경고 기호 를 찾아 충돌한 파일을 식별합니다. 사이드바에 소스 컨트롤 아이콘이 없으면 패널 더 열기 버튼 three-dot icon을 클릭하고 소스 컨트롤 패널을 선택합니다.

    충돌 경고 아이콘은 파일 패널 및 프로젝트 패널의 소스 컨트롤 열에도 나타납니다.

    SVN repository in the Source Control panel with one file conflict

  2. 충돌의 세부 정보를 살펴보려면 충돌한 파일을 마우스 오른쪽 버튼으로 클릭하고 충돌 보기를 선택합니다. 텍스트 기반 파일의 경우 2방향 병합 툴이 열립니다. 모델 파일의 경우 3방향 병합 툴이 열립니다.

  3. 충돌을 해결하려면 병합된 파일을 저장하기 전에 변경 사항 중 하나를 유지하거나 두 변경 사항 모두를 결합할 수 있습니다. 텍스트 파일 병합하기모델 비교 (Simulink) 항목을 참조하십시오.

  4. 수정된 파일을 커밋하려면 커밋을 클릭합니다.

텍스트 파일 병합하기

텍스트 파일을 비교할 때 한 파일의 변경 사항을 다른 파일에다 병합할 수 있습니다. 변경 사항 병합은 서로 다른 파일 버전 간의 충돌을 해결할 때 유용합니다.

텍스트 비교 리포트에 충돌 마커 <<<<<<< .mine이 표시되는 경우, 병합하기 전에 충돌 마커를 추출합니다.

자세한 내용은 충돌 마커 추출하기 항목을 참조하십시오.

파일은 왼쪽에서 오른쪽으로만 병합할 수 있습니다. 소스 컨트롤에 있는 또 다른 버전과 비교할 때, 오른쪽에 있는 파일이 로컬 버전입니다. 왼쪽에 있는 파일은 이전 버전의 임시 복사본이거나 충돌을 일으키는 다른 버전(예: filename_theirs)입니다. 비교 리포트 상단에서 두 파일의 파일 경로를 확인하십시오. 충돌을 해결하려면 다음 단계에 따라 왼쪽에 있는 파일(임시 복사본)에서 오른쪽에 있는 파일로 차이점을 병합하십시오.

  1. 비교 툴 리포트에서 리포트에 나온 차이점을 선택하고 내용 바꾸기를 클릭합니다. 차이점이 왼쪽 파일에서 오른쪽 파일로 복사됩니다.

    내용 바꾸기를 실행 취소하려면 실행 취소를 클릭하십시오.

    또는 인라인 내용 바꾸기실행 취소 아이콘을 사용하십시오.

    리포트 상단에서 병합된 파일 이름에 변경 플래그(filename.m*)가 표시되어 파일에 저장되지 않은 변경 사항이 들어 있음을 나타냅니다.

  2. 적용 후 닫기를 클릭하여 병합한 변경 사항을 저장하고 충돌이 해결된 것으로 표시합니다.

충돌 마커 추출하기

소스 컨트롤 툴은 SLX 파일 및 MLX 파일과 같은 이진 파일로 등록하지 않은 파일에 충돌 마커를 삽입할 수 있습니다. MATLAB®을 사용하여 충돌 마커를 추출하고 충돌을 일으키는 파일을 비교할 수 있습니다. 이 과정은 충돌에 대한 해결 방법 결정에 도움을 줍니다.

충돌 마커의 형식은 다음과 같습니다.

<<<<<<<["mine" file descriptor]
["mine" file content]
=======
["theirs" file content]
<<<<<<<["theirs" file descriptor]

주의

충돌 마커를 삽입해 파일을 손상시키는 일이 없도록, 소스 컨트롤 툴에서 파일을 등록합니다. 자세한 내용은 SVN에 이진 파일 등록하기 항목을 참조하십시오. 파일에 이미 충돌 마커가 포함된 경우 MATLAB 툴을 사용하여 충돌을 해결할 수 있습니다.

충돌 상태로 표시되지 않은 파일에도 충돌 마커가 있을 수 있습니다. 충돌 마커는 사용자가 충돌 마커를 제거하지 않고 충돌을 해결 상태로 표시한 후 파일을 커밋한 경우에 나타날 수 있습니다. 파일에서 충돌 상태로 표시되지 않은 충돌 마커를 발견했다면 다음 단계에 따라 이 충돌 마커를 추출하십시오.

  1. 파일 패널 또는 프로젝트 패널에서 파일을 마우스 오른쪽 버튼으로 클릭하고 소스 컨트롤 > 파일에서 충돌 마커 확인을 선택합니다.

    Conflict Markers dialog box showing the path to the reconstructed files and Merge Files and Close buttons

  2. MATLAB은 병합 전에 원본 파일의 내용을 복원하고 Mine 필드와 Theirs 필드에 경로를 표시합니다.

  3. 파일 병합을 클릭하여 병합 툴을 열고 충돌을 해결합니다. 충돌 문제 해결하기 항목을 참조하십시오.

참고 항목

도움말 항목