업데이트
워크벤치의 프로젝트에 대해 작업하는 동안 팀의 다른 구성원이 저장소에 있는 프로젝트의 사본
변경사항을 커미트할 수 있습니다. 이 변경사항을 가져오기 위해 워크벤치를 "업데이트"하여 분기의 상태와 일치시킬 수 있습니다. 나타나는 변경사항은 워크벤치 프로젝트와 공유하도록 구성된 분기에 특정적입니다. 업데이트 시기를 제어할 수 있습니다.
팀 > 업데이트 메뉴 또는 동기화 보기에서 업데이트 명령을 발행할 수 있습니다. 이 두 가지
명령의 차이점을 이해하려면 수신 변경사항의 세 가지 다른 종류에 대해 알고 있어야 합니다.
- 비충돌 변경은 파일이 원격으로만 변경되고 로컬로 수정되지 않았을 때 발생합니다.
- 자동 병합할 수 있는 충돌 변경은 ASCII 파일이 원격과 로컬로
모두 변경되었지만(즉, 커미트되지 않은 로컬 변경사항이 있는 경우) 변경사항이 서로 다른 행에 있는 경우에
발생합니다.
- 자동 병합할 수 없는 충돌 변경은 ASCII 파일에서 하나 이상의 동일한 행이 원격과 로컬로
모두 변경되었거나 2진 파일이 원격과 로컬로 모두 변경된 경우 발생합니다(2진 파일은 자동 병합할 수 없습니다).
팀 > 업데이트을 선택하면 로컬 자원의 컨텐츠가 위 세 가지 모든 유형의 수신 변경사항으로
업데이트됩니다.
팀 > CVS > 업데이트/병합
환경 설정 페이지에서
업데이트 동작을
지정할 수 있습니다. 선택사항은 다음과 같습니다.
- 모든 수신 변경사항을 업데이트 전에 미리보기: 모든 변경사항이 설정에 따라
동기화 보기 또는 대화 상자에 표시됩니다. 각 변경사항은 행 단위로 병합하거나,
충돌하지 않는 모든 변경사항을 한 번에 업데이트한 후 나머지 충돌을 처리할 수 있습니다.
- 충돌하지 않는 모든 변경사항을 업데이트한 후 나머지 변경사항 미리보기:
충돌하지 않는 모든 수신 변경사항이 자동으로 병합되고 나머지 충돌사항은
동기화 보기(기본값) 또는 대화 상자에 표시됩니다. 업데이트/병합
환경 설정 페이지에서 충돌을 표시할 위치를 지정할 수 있습니다.
- 충돌을 표시하기 위해 CVS 텍스트 마크업을 미리보거나 사용하지 않음(기본값): 이 옵션은
사용자 상호작용 없이 모든 변경사항을 자동으로 병합합니다. 충돌 변경사항은 다음과 같이 CVS 텍스트 마크업을 사용할 때 병합됩니다.
<<<<<<< 원래 파일 개정
[원래 코드]
= = = = = = =
[수신 코드]
>>>>>>> 수신 파일 개정
그런 다음 병합 충돌을 포함하는 각 파일로 이동하여 해당 파일을 원하는 최종 상태로 편집합니다.
로컬 자원을 업데이트하기 전에 어떤 수신 변경사항이 있는지 확인하는 것이 좋습니다. 이런 문제는 동기화 보기에서 해결할 수 있습니다.
수신 모드에서 동기화 보기를 열려면 다음을 수행하십시오.
- 탐색 보기 중 하나에서 업데이트할 자원을 선택하십시오.
- 선택한 자원의 팝업 메뉴에서 팀 > 저장소와 동기화를 선택하십시오. 동기화 보기가 열립니다.
- 동기화 보기의 도구 모음에서 수신 모드 단추를 클릭하여 있을 수 있는
수정된 워크벤치 자원(전송 변경사항)을 모두 필터하십시오.
수신 모드에서는 마지막으로 업데이트한 후 분기에 커미트된 변경사항이 나타납니다. 보기에는 각 수신 변경사항의
유형이 표시됩니다. 서로 다른 충돌 유형을 처리하기 위한 두 가지 업데이트 명령(보기에 있는 자원의
컨텍스트 메뉴에서 사용 가능)이 있습니다. 하나는 업데이트이고 다른 하나는
대체 및 업데이트입니다. 동기화 보기에서 업데이트 명령을 선택하면
선택된 모든 수신 및 자동 병합할 수 있는 충돌 변경사항이 처리되는 반면, 자동 병합할 수 없는
충돌은 업데이트되지 않습니다(성공적으로 처리된 모든 파일은 보기에서 제거됩니다).
대체 및 업데이트 명령은 충돌 시 작동되며 로컬 자원을 원격 컨텐츠로
바꿉니다. 이 "바꾸기" 작동은 사용하지 않는 것이 좋습니다. 다른 방법에 대해서는 나중에 설명합니다.
비충돌 및 자동 병합할 수 있는 파일을 업데이트하려면 다음을 수행하십시오.
- 동기화 보기의 맨 위에 있는 구조 비교 분할창에는 수신 변경사항과 함께 자원의 계층 구조가 들어 있습니다.
- 모든 충돌 파일을 선택하고 팝업 메뉴에서 업데이트를 선택하십시오.
그러면 수신 변경사항 또는 자동 병합할 수 있는 충돌인 선택된 자원이 업데이트되고
보기에서 제거됩니다. 컨텐츠를 자동 병합할 수 없는
충돌은 보기에 남습니다.
로컬 워크벤치에 분기의 수신 변경사항과 자동 병합할 수 없는 전송 변경사항이 있으면
대체 및 업데이트을 수행하는 대신 다음과 같이 워크벤치에 수동으로
차이점을 병합할 수 있습니다.
- 구조 비교 분할창에서 자원 목록에 충돌이 있으면(빨간색 화살표로 표시됨)
이를 여십시오(두 번 클릭하거나 컨텍스트 메뉴에서 비교 편집기에서 열기를
선택하여).
- 비교 편집기의 텍스트 비교 영역에서 로컬 워크벤치 데이터는
왼쪽에 표시되고 저장소 분기 데이터는 오른쪽에 표시됩니다. 두 데이터의 차이점을 검토하십시오.
- 텍스트 비교 영역을 사용하여 변경사항을 병합하십시오. 파일의 저장소 개정에 있는 변경사항을
파일의 워크벤치 사본에 복사하고 왼쪽 분할창의 팝업 메뉴를 사용하여 병합된 워크벤치 파일을 저장할 수 있습니다.
- 원격 변경사항을 로컬 파일에 병합했으면 동기화 보기의 팝업 메뉴에서
병합으로 표시를 선택하십시오. 그러면 로컬 파일이 업데이트됨으로 표시되어 변경사항을 커미트할 수 있습니다.
참고: 업데이트할 때 저장소의 컨텐츠는 변경되지 않습니다. 수신 변경사항을 허용하면
해당 변경사항이 워크벤치에 적용됩니다. 저장소는 전송 변경사항을 커미트할 때만 변경됩니다.
팁: 동기화 보기에서 수신 변경사항의 상위 세트를 선택하면
모든 해당 하위에 대해 조작이 수행됩니다. 예를 들어, 최상위 폴더를 선택하고
업데이트을 선택하면 모든 수신 및 자동 병합할 수 있는 충돌 변경사항이 처리되어
기타 모든 수신 변경사항은 처리되지 않은 상태로 남습니다.
경고: 위에서 설명한 대체 및 업데이트 명령의 작동은 동기화 보기의
수신 모드에만 적용됩니다. 보기의 수신/전송 모드에서는
수신 변경사항 및 충돌에 대한 작동은 동일하지만 명령은 저장소 컨텐츠가 어떤 것이든지 간에
이 저장소 컨텐츠로 전송 변경사항을
되돌립니다. 수신/전송 모드에서 이 명령을 사용할 때는 신중을 기해야 합니다.

CVS를 사용하여 팀 프로그래밍
CVS 저장소와 동기화

커미트
충돌 해결
자원 비교
버전 제어 라이프 사이클: 자원 추가 및 무시
CVS
동기화 보기