2012-01-12 3 views
1

개별 파일 병합의 단점에 대해 잠시 후 질문을 올렸습니다. 파일 버전 별 TFS 병합

Is it okay to merge individual files from one branch to another

게시 대답

내가 변경 집합에 의해보다는 파일 버전으로해야한다고 말했다. 그러나, 나는 changeset (체리 따기)에 의해 합병하는 것은 아주 나쁜 아이디어라고 읽었습니다. 각 변경 집합의 내용과 TFS가 델타를 저장하는 방법을 실제로 이해하지 않으면 의도하지 않은 병합 현상이 발생할 수 있습니다.

VSS에서 TFS로 마이그레이션 할 때 팀원에게 분기 수준에서만 병합해야한다고 설득하려고합니다. 그러나 파일 버전으로 병합 할 때 발생할 수있는 잠재적 인 영향에 대한 좋은 예는 부족합니다. 누구든지 파일 버전으로 병합에 대한 정보에 대한 좋은 링크를 설명하거나 제공 할 수 있습니까 (반드시 변경 집합 일 필요는 없음).

확실하지 않은 점은 파일 버전으로 병합하는 경우 해당 파일 버전과 관련된 변경 집합을 병합 중입니까? 이러한 변경 집합이 다른 파일에 영향을주는 경우 해당 파일이 변경됩니까?

미리 감사드립니다.

답변

3

TFS에는 파일 버전 개념이 없습니다. 특정 파일의 특정 버전을 병합 할 경우 당신은 마우스 오른쪽 버튼을 클릭하여 파일을 선택하여 GUI를 사용하여 동일한 작업을 수행 할 수 있습니다

tf merge $/TP/Branch1/file1.cs $/TP/Branch2/file1.cs /version:C1234

같은 파일 이름과 변경 집합 무언가의 조합을 사용해야하고, 병합하십시오. 병합 마법사에서 "최신 버전"대신 드롭 다운에서 "선택한 변경 집합"을 선택하십시오 (폴더 수준에서 똑같은 작업을 수행 할 수 있습니다).

이렇게 병합하면 TFS가 변경 집합이 부분적으로 병합 된 것을 기억합니다 다음에 병합 할 때 나머지 변경 집합을 병합하라는 메시지를 표시합니다.

당신이 그들에게 * 다음으로 목록에서

tf merge $/TP/Branch1 $/TP/Branch2 /recursive /candidate 어떤 변경 집합을 사용하여 부분 병합을 볼 수있는 것은 부분적으로되어 이미

+0

아 병합 한 변경 집합을 "부분적으로 통합". 그게 내가 궁금해하던거야. 내가 어떻게 변경 집합을 나누는 것을 처리했는지, 심지어 가능하다면 궁금해. 따라서 GUI에서 "최신 버전"을 통해 병합하면 영구적으로 "나머지 변경 집합을 병합하라"는 자신을 비난하게 될 것입니까? 이 부분 합병에 대한 다른 단점이 있습니까? – StoneJedi

+0

더 높은 수준에서 병합 할 것인지 묻는 메시지가 나타납니다. 2 개의 별도 폴더에 파일을 포함하는 변경 집합이 있습니다. 하나의 폴더에서 변경 사항을 병합합니다. 같은 폴더를 다시 병합하면 프롬프트되지 않습니다. 루트 또는 다른 폴더에서 병합하는 경우 프롬프트가 표시됩니다. –