Team Foundation 버전 제어 충돌 해결

Team Foundation 버전 제어를 사용하여 파일을 관리하면 파일에 대한 작업을 여러 명이 동시에 수행할 수 있다는 장점이 있습니다. 그러나 파일을 가져오거나 체크 인하거나 복원하거나 병합하거나 롤백하기 전에 충돌을 해결해야 하는 경우가 있다는 단점도 있습니다.

충돌이 발생하면 당황스러울 수 있지만 시스템에서는 충돌을 이해하고 해결하는 데 도움이 되는 정보와 도구를 제공합니다.

  • 충돌 해결

  • 충돌 모두 자동 해결

  • 개별 충돌 자동 병합

  • 개별 충돌 수동 해결

  • 자동 옵션 이해

  • 명령 프롬프트에서 작업

  • 팁 가져오기

충돌 해결

충돌 해결 창을 사용하여, 사용자를 차단하는 충돌을 해결합니다.

충돌하는 변경 내용에서 체크 인 차단

충돌 해결 창

기본적으로는 가장 최근에 시도한 작업으로 인한 충돌만 이 창에 표시됩니다. 창에 이러한 내용이 표시될 때는 경로 필터 적용으로 시작되는 메시지가 나타납니다. 작업 영역의 모든 충돌을 표시하려면 모든 충돌 가져오기를 선택합니다. n개 충돌로 시작하는 메시지가 나타납니다.

작업 영역에서 파일을 변경한 이후 많은 시간이 경과한 경우에는 새로운 충돌이 발생했을 수도 있습니다. 충돌 해결 창을 새로 고치려면 새로 고침을 선택합니다.

각 충돌에는 정보가 포함되어 있으며 충돌 해결에 유용한 링크가 포함되는 경우도 있습니다. 자세한 정보를 보려면 충돌을 선택하고 다음을 선택합니다.

  • 기록 단추 기록 - 파일 기록을 봅니다. 병합 또는 롤백 작업으로 인해 충돌이 발생한 경우 기록 오른쪽의 메뉴 컨트롤을 선택한 다음 소스 기록 또는 대상 기록을 선택할 수 있습니다.

    항목 기록 가져오기을 참조하십시오.

  • 주석 달기 단추 주석 달기 - 가장 최신 버전의 파일에서 수행한 모든 변경 작업에 대한 자세한 정보를 봅니다. 이러한 정보에는 각 변경 작업을 수행한 사람과 변경 시기가 포함됩니다. 주석을 사용하여 파일 변경 내용 보기을 참조하십시오.

  • 파일 비교 단추 비교(또는 단추 오른쪽의 메뉴에서 명령 선택) Diff 창이 나타납니다.

충돌 모두 자동 해결

모두 자동 해결 옵션을 설정할 경우 기본적으로 시스템이 충돌 모두 자동 해결을 자동으로 시도합니다(팁 참조). 충돌 해결 창에서 모두 자동 해결을 선택한 후 다음을 선택할 수도 있습니다.

  • 시스템의 경험적 접근 방법을 모두 사용하여 충돌을 자동으로 해결하려면 모든 충돌 형식을 선택합니다.

  • 충돌을 자동으로 해결하되 시스템의 일부 경험적 접근 방법은 사용하지 않으려면 특정 충돌 형식을 선택합니다.

    해결할 충돌 선택 대화 상자가 표시됩니다. 사용하거나 사용하지 않을 옵션을 각각 선택하거나 선택 취소하고 자동 해결을 선택합니다. 자세한 내용은 아래 자동 옵션 이해를 참조하십시오.

시스템에서 보류 중인 변경 내용 창에 표시된 충돌을 자동으로 해결하려고 시도합니다. 시스템이 해결할 수 없는 충돌은 창에 남습니다. 이러한 충돌을 수동으로 해결해야 합니다.

단일 충돌 자동 병합

아래의 자동 옵션을 파악에서 설명한 모든 자동 병합 옵션을 사용하여 선택한 충돌을 해결하려면 자동 병합를 선택합니다.

Ctrl 또는 Shift 키를 누른 상태에서 여러 충돌을 선택할 수 있습니다.

참고

자동 병합을 사용할 수 없는 경우에는 충돌을 수동으로 해결해야 합니다.

단일 충돌 수동 해결

시스템이 충돌을 자동으로 해결할 수 없거나 변경 내용을 이해하는지 확인하고 싶은 경우 충돌을 수동으로 해결합니다. 각 충돌 범위 내에서 충돌을 해결하기 위해 수행할 수 있는 작업이 표시됩니다. 표시되는 작업은 충돌 유형과 충돌을 초래한 작업에 따라 달라집니다.

병합 도구에서 변경 내용 병합

충돌하는 내용 변경으로 인해 충돌이 발생할 때 병합 도구에서 변경 내용 병합을 선택할 수 있습니다.

이 작업을 선택하면 병합 창이 나타납니다.

병합 창

충돌을 해결하기 위해 수행한 작업의 결과는 결과 창에 표시됩니다.

이 창에서 다음 작업을 수행할 수 있습니다.

  • 창 레이아웃을 세로 뷰, 가로 뷰, 혼합 뷰 중에서 선택합니다.

  • 차이점 및 충돌 사이에서 이동합니다.

  • 파일의 왼쪽 및 오른쪽 버전에서 결과에 포함할 항목을 선택합니다.

  • 결과 창의 파일에 추가 내용을 입력합니다.

  • 파일 기록을 봅니다. 항목 기록 가져오기을 참조하십시오.

  • 파일의 여러 버전을 비교합니다.

  • 누가 무엇을 변경했는지 확인할 수 있도록 파일에 주석을 작성합니다. 주석을 사용하여 파일 변경 내용 보기을 참조하십시오.

결과 창의 내용에 만족할 경우 병합 수락을 선택합니다.

자동 옵션 이해

경우에 따라 모두 자동 해결 옵션으로 자동으로 해결되는 충돌의 유형을 제한하려고 할 수 있습니다.

모두 자동 해결을 선택한 후 특정 충돌 형식을 선택하면 해결할 충돌 선택 대화 상자가 나타납니다.

해결할 충돌 선택 대화 상자

시스템을 통해 자동으로 해결하려는 충돌의 원인

예제

선택할 확인란

파일의 각 버전에 충돌하지 않는 내용 변경이 적용되었습니다.

왼쪽에 있는 파일 버전의 맨 앞에 0이 추가되었습니다. 오른쪽에 있는 파일의 맨 끝에 3이 추가되었습니다.

내용 변경이 충돌하지 않음

모든 내용 변경과의 충돌

작업 영역(가져오기 또는 체크 인 작업 동안)이나 대상 버전(병합 또는 롤백 작업 동안)에 고유한 내용 변경이 적용되었습니다.

작업 영역이나 대상 버전에 45가 추가되었습니다.

작업 영역 또는 대상별로 고유한 내용 변경

로컬 작업 영역 또는 대상 분기에서만 적용한 내용 변경과의 충돌

서버(가져오기 또는 체크 인 작업 동안)나 소스 버전(병합 또는 롤백 작업 동안)에 고유한 내용 변경이 적용되었습니다.

서버나 소스 버전에 45가 추가되었습니다.

서버 또는 소스별로 고유한 내용 변경

서버 버전 또는 소스 분기에서만 적용한 내용 변경과의 충돌

서버(가져오기 또는 체크 인 작업 동안)나 소스 분기(병합 또는 롤백 작업 동안)에 있는 파일의 이름이 변경되었습니다.

launch.cs 파일을 체크 아웃한 후 이 파일에 대한 작업을 수행했습니다. 작업이 진행되는 동안 누군가가 같은 파일에 영향을 주는 변경 집합을 체크 인했습니다. 변경 집합이 파일의 내용을 수정하지는 않았지만 파일의 이름을 start.cs로 변경했습니다.

서버 버전 또는 소스 분기에서 파일의 이름을 바꿔서 발생한 충돌

  • 공통된 내용 변경으로 인해 각 버전의 내용이 같아졌습니다.

  • 파일을 변경하고 제어된 체크 인 빌드를 통해 체크 인한 후 보류 중인 변경 내용을 로컬에 유지 옵션을 선택했습니다.

각 버전에 적용된 내용 변경으로 인해 파일 내용이 같아졌습니다. 다음 예제와 같이 파일의 내용이 변경될 수 있습니다.

각 버전의 내용 변경이 같음

또한 이 옵션은 이름 바꾸기, 삭제, 삭제 취소, 분기 등과 같은 기타 모든 작업으로 발생하는 충돌과 동일한 파일을 만드는 충돌을 해결합니다.

이 확인란을 선택하고 진행하면 시스템에서 사용자의 작업 공간으로 서버 버전을 가져와(다운로드하여) 이러한 변경 내용을 해결합니다.

서버 작업 영역과 작업 영역의 동일한 변경 내용으로 인해 발생한 충돌

명령 프롬프트에서 작업

  • 팁기본적으로 시스템은 자동으로 충돌 모두 자동 해결을 시도합니다. 옵션을 변경하려면 메뉴 모음에서 도구, 옵션을 선택한 후 옵션 대화 상자에서 소스 제어, Visual Studio Team Foundation Server로 이동합니다. 생성된 충돌 자동 해결 확인란을 선택 취소합니다.

  • 팁팀은 충돌(예: 대규모의 코드베이스에서 병합 작업 후에 발생할 수 있음) 해결을 위해 공동 작업이 필요합니까? 그럴 경우 공유 개발 컴퓨터의 공개 작업 영역이 유용할 수 있습니다. 작업 영역 만들기 및 사용을 참조하십시오.