2009-09-17 2 views
38

대부분 TFS과 마찬가지로 당신은 당신보다 더 많은 것을 얻을 수 있습니다. 이 경우 병합 중에 예상보다 많은 파일 변경 사항이 표시됩니다.TFS에서 특정 변경 집합에 대해 근거없는 병합을 수행하려면 어떻게해야합니까?

나는 2 개의 하위 가지를 가지고 있는데 흥미롭고 branch1과 branch2라고 부를 수 있습니다. 두 가지 모두 작성된 이후 변경됩니다. branch2에서 12 개의 특정 changeset을 가져 와서 branch1에 병합해야합니다. branch2의 변경 사항은 상위 분기로 되돌아 갈 수 없습니다. 따라서 근거없는 병합의 경우는 간단합니다. 그러나 결과는 예상 한 것과 다릅니다.

tf merge /baseless /recursive /version:C95654 branch2 branch1 

변경 집합 95654 12 개 변경된 파일이 포함되어 있지만,이 명령 후 나는 충돌 56 개 편집 된 파일을 얻을 : 나는 다음과 같은 명령을 실행 한 첫 번째 변경 집합을 촬영

. 한 지점에서 다른 지점으로 만 지정된 변경 집합을 병합 할 것으로 예상했지만 전체 폴더를 병합 한 것처럼 보입니다.

왜 내가 changeset를 지정할 때 12 개가 아닌 56 개의 파일이 변경됩니까? 또한 병합 된 내용을 해당 changeset의 내용으로 만 제한하려면 어떻게해야합니까?

답변

56

당신이 다음 문을 사용할 필요가 특정 변경 집합 병합해야하는 경우 :

tf merge /baseless /recursive /version:C95654~C95654 branch2 branch1 

을 (그것은 단지 C95654을 변경 집합을 의미).

사용중인 명령 줄은 C95654 이전과 이후의 모든 변경 집합을 의미합니다.

+0

내가 근거없는 병합을 수행하지만 (대상) 코드? 이것에 대한 –

1

두 분기에 tfs 경로를 사용해야했습니다. 두 가지 분기점을 원하는 작업 공간에 추가합니다. 최신의 것을 얻으 라. 대상 폴더에서 Windows PowerShell을 엽니 다. tfs 경로 얻기

그런 다음 분기에 $ 경로를 사용하십시오. 하나의 변경 집합에 대한 기본 없음 병합과 같은 변경 집합 번호. "받는 두 가지를 추가 : - 여기

>tf merge /baseless /recursive /version:C999~C999 "$/MyRepo/Current" "$/MyRepo/Development" 

http://blogs.msdn.com/b/bharry/archive/2011/08/31/merge-enhancements-in-tfs-11.aspx

+0

+1 BRANCH1을하지 않는 것이 가능 원하는 작업 공간 " –

관련 문제