"Workspace 버전과 비교"와 "최신 버전과 비교"의 차이점은 무엇입니까?


91

TFS와 함께 Visual Studio 2012를 사용하고 있습니다. 체크 아웃 한 파일을 비교할 때마다 선택할 수있는 두 가지 옵션이 있습니다.

  1. 작업 공간 버전과 비교
  2. 최신 버전과 비교

스크린 샷

차이점은 무엇입니까?

답변:


78

최신 버전과 비교하면 분명해 보입니다. TFS의 최신 버전과 파일을 비교합니다. 따라서 소스 제어에 체크인 된 최신 버전과 비교하는 폴더 사이의 모든 차이점을 얻을 수 있습니다.

Workspace 버전과 비교 하면 혼란 스러울 수 있지만 실제로는 매우 간단합니다. TFS는 작업 영역으로 검색 한 파일의 버전을 추적합니다. 이것은 일반적으로 최신 버전이거나 거의 비슷 하지만 그럴 필요 는 없습니다 .

Get Specific Version옵션을 사용하면 모든 버전의 파일을 로컬 작업 공간으로 검색 할 수 있습니다. 다른 버전의 파일을 작업 공간으로 검색 할 수도 있습니다. 이 옵션을 선택하면 현재 작업 공간에있는 버전과 비교가 수행됩니다.

비교 화면


"이 옵션을 선택하면 현재 작업 공간에있는 버전과 비교가 수행됩니다." 무엇과 비교?
Bilal Fazlani 2013

기본적으로 디스크의 버전을 사용합니다. 또는 대상 경로로 선택한 모든 버전. 결국 비교를 위해 소스와 대상 버전을 선택하는 것은 궁극적으로 귀하의 책임입니다.
jessehouwing nov.

2
변경 세트 버전을 사용하여 현재 디스크에있는 항목과 함께 선택한 작업 공간에 마지막으로 다운로드했습니다.
jessehouwing

2
더 명확하게하기 위해 작업 영역 버전을 가져 오는 것은 최신 버전과 다르거 나 최신 버전과 다를 수 있습니다. 리포지토리에서 가져온 항목에 전적으로 의존합니다
Callat

1
예 : 당신은 팀에 있고 3/5에 파일을 얻습니다. 수정했지만 체크인하지 않았습니다. 5/5에 마지막 버전과 비교했을 때 예상했던 것보다 더 많은 차이점을 발견했습니다. 다른 사람이 같은 파일을 더 많이 변경했기 때문입니다. 그러나 Workspace 버전과 비교하면 로컬 변경 사항과 처음에 IT를 검색 할 때 원본 파일이 어떻게되었는지의 차이점 만 알 수 있습니다. 변경 한 사항 만 확인하는 데 매우 유용합니다 ...
Roger

79
  • 작업 공간 버전 과 비교하면 실제로 편집 된 파일 을 체크 아웃 당시 의 파일 버전과 비교 합니다 ( 변경 사항 비교 ).

  • 와 비교 최신 버전은 파일의 최신 버전으로 편집 된 파일을 비교하는 코드 저장소에 선물을그것은 당신의 동료에 의해 변경 사항을 포함 할 수 있습니다 .

http://codereferences.blogspot.ca/2012/03/tfs-compare-with-workspace-version.html


1
serhio, 귀하와 @jessehouwing이 작업 공간 버전 비교 유형에 대해 충돌하는 동작을 언급하고 있습니다. 작업 공간 자체가 최신 버전을 사용하도록 구성된 경우 파일의 최신 버전이 사용된다고 말하는 것처럼 들립니다. 그러나 당신이 말하는 것은 소스 파일이 반드시 최신 버전이 아니라 체크 아웃하는 동안의 파일 버전 일 수 있다는 것을 의미합니까?
samis

2
이것은 가장 간단한 설명입니다. Workspace는 서버에서 자동으로 최신 버전을 검색하지 않습니다. 최신 파일을 유지합니다. 따라서 최신 정보를 얻고 파일을 편집한다고 가정 해 보겠습니다. 한편, 공동 개발자는 최신 정보를받은 후 체크인했습니다. 작업 공간은 공동 개발자가 체크인 한 변경 사항에 대해 알지 못합니다. 이 시점에서 작업 공간과 비교 및 ​​최신 버전과 비교가 다릅니다.
SKCS Kamal

5

@serhio의 3/28/14 답변은 훌륭한 내러티브 답변입니다. 그러나 나는 많은 (나 자신을 포함하여) 예제를 통해 백업이 필요하다고 확신하며 여기에 있습니다.

  1. 모두에게 "최신 버전"= Changeset # 1입니다.
  2. 당신은 "최신 가져 오기".
  3. 당신을 위해, "Workspace Version"= Changeset # 1입니다.
  4. 당신은 변경합니다.
  5. 개발자 B "최신 받기".
  6. 개발자 B의 경우 "작업 공간 버전"도 = 변경 세트 # 1입니다.
  7. 개발자 B가 변경합니다.
  8. 개발자 B "체크인".
  9. 모두에게 "최신 버전"= 변경 세트 # 2.
  10. 개발자 B의 경우 "작업 공간 버전"= 변경 세트 # 2.
  11. 당신을 위해 "작업 공간 버전"은 여전히 = 변경 세트 # 1입니다.
  12. "최신 가져 오기", "병합 충돌"(필요한 경우) 및 "체크인".
  13. 모두에게 "최신 버전"= Changeset # 3.
  14. 당신을 위해, "Workspace Version"= Changeset # 3.
  15. 개발자 B의 경우 "작업 공간 버전"은 여전히 = 변경 세트 # 2입니다.

0

답변을 다시 설명하려면 :

로컬 파일은 항상 작업중인 파일입니다.

서버 파일은 다음 중 하나 일 수 있습니다.

  1. 다른 모든 체크인을 포함한 최신 버전. (당신은 당신의 변화 와 다른 사람들의 변화를 볼 수 있습니다.)

  2. 당신이 (당신은 볼을 체크 아웃 할 때 버전은이었다로 하여 다른 사람이 이후에 체크 한 경우에도 변경).

체크 아웃 이후 다른 사람이 파일을 체크인하지 않으면 위의 두 가지 모두 정확히 동일한 결과를 생성합니다.

따라서 수행 한 작업 을 시작했을 때의 작업과 비교하려면 작업 영역 버전을 선택합니다.

자신이 한 작업을 다른 사람이 한 작업과 비교하려면 최신 버전을 선택합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.