Main Content

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

충돌 문제 검토하고 해결하기

두 명의 사용자가 다른 샌드박스나 다른 브랜치에서 동일한 파일을 변경하는 경우, 수정된 파일을 커밋하려고 하면 충돌 메시지가 나타납니다. 필요한 경우 충돌 문제 해결하기의 절차에 따라 충돌 마커를 추출하고, 충돌을 일으키는 차이점을 비교하고, 충돌을 해결하십시오.

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

  • 비교 툴을 사용하여 수정본 사이의 변경 사항을 병합합니다.

  • 한쪽의 변경 사항을 다른 쪽에다 덮어씁니다.

  • 파일을 편집하여 수동으로 변경합니다.

비교 툴을 사용하여 변경 사항을 병합하는 방법에 대한 자세한 내용은 텍스트 파일 병합하기 항목을 참조하십시오.

충돌 상태로 표시된 파일에 만족하는 경우에는 충돌 해결 상태로 표시하고 파일을 커밋해도 됩니다.

충돌 문제 해결하기

  1. 현재 폴더 브라우저에서 충돌이 난 파일을 찾습니다.

  2. SVN 상태 열에서 충돌을 나타내는 빨간색 경고 기호 가 있는 파일이 있는지 확인합니다.

  3. 충돌이 난 파일을 마우스 오른쪽 버튼으로 클릭하고 소스 컨트롤 > 충돌 보기를 선택하여 버전을 비교합니다.

  4. 충돌 내용을 검토합니다. 이 파일과 충돌이 난 버전의 파일 사이의 차이점을 보여주는 비교 리포트가 열립니다.

  5. 비교 툴 리포트를 사용하여 충돌 해결 방법을 결정합니다.

    비교 툴을 사용하여 수정본 간의 변경 사항을 병합할 수 있습니다. 텍스트 파일 병합하기의 설명을 참조하십시오.

  6. 변경 사항을 해결하여 사용자의 샌드박스에서 버전을 커밋하려는 경우, 현재 폴더 브라우저에서 파일을 마우스 오른쪽 버튼으로 클릭하고 소스 컨트롤 > 충돌을 해결 상태로 표시를 선택합니다.

  7. 수정된 파일을 커밋합니다.

텍스트 파일 병합하기

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

텍스트 비교 리포트에 다음과 같은 충돌 마커가 표시되는 경우,

<<<<<<< .mine
병합하기 전에 충돌 마커 추출하기에서 설명된 대로 충돌 마커를 추출하십시오.

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

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

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

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

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

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

충돌 마커 추출하기

충돌 마커란?

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

주의

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

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

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

충돌 마커가 포함된 파일을 열려고 하면 충돌 마커 발견 대화 상자가 열립니다. 프롬프트 내용에 따라 충돌 마커를 추출하여 파일을 수정합니다. 충돌 마커를 추출한 후에는 충돌 문제 검토하고 해결하기에서 설명된 대로 충돌 문제를 해결합니다.

충돌 마커를 보려면 충돌 마커 발견 대화 상자에서 파일 불러오기를 클릭하십시오. MATLAB은 충돌 마커를 인식할 수 없으므로 파일을 불러오려고 하지 마십시오. 대신, 파일 수정을 클릭하여 충돌 마커를 추출합니다.

MATLAB은 충돌한 파일에서만 충돌 마커를 확인합니다.

충돌 마커 추출하기

충돌 파일을 열거나 충돌 보기를 선택하면 MATLAB은 파일에서 충돌 마커를 확인하여 충돌 마커를 추출하도록 제안합니다. MATLAB은 충돌이 난 파일에서만 충돌 마커를 확인합니다.

그러나 충돌 상태로 표시되지 않은 일부 파일에도 충돌 마커가 있을 수 있습니다. 이런 상황은 사용자가 충돌 마커를 제거하지 않고 충돌을 해결 상태로 표시한 후 파일을 커밋한 경우에 발생할 수 있습니다. 파일에서 충돌 상태로 표시되지 않은 충돌 마커를 발견했다면 이 충돌 마커를 추출할 수 있습니다.

  1. 현재 폴더 브라우저에서 파일을 마우스 오른쪽 버튼으로 클릭하고 소스 컨트롤 > 파일에 대한 충돌 마커를 추출을 선택합니다.

  2. 파일에 대한 충돌 마커를 추출 대화 상자에서, "mine" 파일 버전을 충돌이 난 파일에다 덮어 복사하는 디폴트 옵션을 그대로 둡니다. 추출된 파일을 비교합니다 체크박스를 선택한 상태로 둡니다. 추출을 클릭합니다.

  3. 평소와 마찬가지로, 비교 툴 리포트를 사용하여 계속해서 충돌 문제를 해결합니다.