병합 명령(Team Foundation 버전 제어)
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
tf merge
명령은 TFVC(Team Foundation Version Control)에서 한 분기의 변경 내용을 다른 분기로 적용합니다.
메모
이 명령의 결과는 체크 인 작업을 수행할 때까지 Azure DevOps 서버에 반영되지 않습니다. 자세한 내용은 코드 개발 및 보류 중인 변경관리를 참조하세요.
필수 구성 요소
통사론
tf merge [/recursive] [/force] [/candidate] [/discard]
[/version:versionspec] [/lock:none|checkin|checkout] [/preview]
[/baseless] [/nosummary] [/noimplicitbaseless] [/conservative] [/format:(brief|detailed)] [/noprompt] [/login:username,[password]] source destination
매개 변수
인수
인수
설명
<versionspec>
<source>
병합의 원본 역할을 할 파일 또는 폴더를 지정합니다.
<destination>
병합의 대상으로 사용할 파일 또는 폴더를 지정합니다.
<username>
/login
옵션에 값을 제공합니다.
username
값을 DOMAIN\username
또는 username
지정할 수 있습니다.
옵션
옵션
설명
/recursive
현재 디렉터리 및 하위 폴더의 source
항목 사양과 일치합니다.
/force
이전에 일부 또는 모든 변경 내용이 병합된 경우에도 병합 기록을 무시하고 원본에서 지정된 변경 내용을 대상으로 병합합니다.
/candidate
원본에서 아직 대상에 병합되지 않은 모든 변경 집합 목록을 인쇄합니다. 목록에는 병합되지 않은 변경 집합 ID와 해당 변경 집합에 대한 기타 기본 정보가 포함되어야 합니다. 지정된 결과의 별표는 부분적으로 병합되었음을 나타냅니다. 즉, 변경 집합의 일부 변경 내용이 병합되고 다른 변경 내용이 병합되지 않았습니다.
/discard
병합 작업을 수행하지 않지만 병합 기록을 업데이트하여 병합이 발생했음을 추적합니다. 이렇게 하면 변경 집합이 특정 병합에 사용되지 않습니다.
/version
선택적 병합의 경우 이 옵션은 대상에 병합해야 하는 범위를 지정합니다. 캐치업 병합의 경우 이 매개 변수는 병합되지 않은 모든 변경 내용을 병합해야 하는 이전 버전을 지정합니다.
선택적 병합의 경우 버전 범위는 병합할 변경 내용 집합의 시작점과 끝점을 나타냅니다. 예를 들어 버전 4~6
병합하려고 하면 변경 집합 4, 5 및 6이 병합됩니다.
/lock
잠금 유형을 지정하거나 항목에서 잠금을 제거합니다. 자세한 내용은 잠금 유형 이해참조하세요.
잠금 옵션:
None
: 항목에 잠금을 배치하지 않고 항목에서 기존 잠금을 제거합니다.Checkin
: 다른 사용자는 지정된 항목을 체크 아웃할 수 있지만 체크 인을 수행하여 잠금을 해제할 때까지 잠긴 파일의 수정 버전을 체크 인할 수 없습니다. 다른 사용자가 지정된 항목 중 하나를 잠근 경우 잠금 작업이 실패합니다.Checkout
: 잠금을 명시적으로 해제할 때까지 사용자가 지정된 항목 중 하나를 체크 인하거나 체크 아웃하지 못하도록 합니다. 다른 사용자가 지정된 항목 중 하나를 잠근 경우 또는 항목에 대해 보류 중인 기존 변경 내용이 있는 경우 잠금 작업이 실패합니다.
/preview
병합의 미리 보기를 표시합니다.
/baseless
기본 버전 없이 병합을 수행합니다. 즉, 사용자가 병합 관계가 없는 파일 및 폴더를 병합할 수 있습니다. 기본 없는 병합 후에는 병합 관계가 존재하며 이후 병합은 근거 없는 것이 아닙니다.
메모
기본 없는 병합은 대상의 파일을 삭제할 수 없습니다. 이러한 변경 내용을 수동으로 이월할 수 있습니다.
/noimplicitbaseless
TFVC가 관련이 없는 두 버전 제어 트리에서 상대 이름이 같은 두 항목 간에 암시적 근거 없는 병합을 수행하지 않도록 지정합니다.
/nosummary
충돌, 오류 및 경고의 요약을 생략합니다.
/noprompt
입력에 대한 프롬프트를 표시하지 않습니다.
/conservative
한 분기를 다른 분기로 병합하면 충돌이 더 발생합니다.
/format
병합 충돌을 요약하는 형식을 지정합니다.
-
Brief
(기본값): 총 충돌 수, 경고 및 오류 수만 요약합니다. -
Detailed
: 총 충돌, 경고 및 오류 수뿐만 아니라 각 충돌에 대한 세부 정보도 요약합니다.
메모
이 옵션은 출력에 충돌 요약이 포함된 경우에만 적용됩니다.
/nosummary
옵션을 사용하거나 병합으로 인해 10개 미만의 충돌, 경고 및 오류가 발생한 경우 요약을 표시할 수 없습니다.
/login
Azure DevOps를 사용하여 사용자를 인증할 사용자 이름과 암호를 지정합니다.
발언
tf
명령줄 유틸리티의 merge
명령을 사용하여 기존 원본 분기의 변경 내용을 기존 대상 분기에 적용할 수 있습니다. 개별 수정 버전 또는 전체 변경 집합을 대상 분기에 병합할 수 있습니다. 원본에서 대상 분기로 또는 대상에서 원본 분기로 변경 내용을 병합할 수 있습니다.
merge
명령을 사용하면 대상 분기로 마이그레이션되지 않은 원본 분기의 변경 내용을 쿼리할 수도 있습니다. 또한 이 명령을 사용하면 특정 변경 내용이 원본에서 대상으로 병합되지 않으며 더 이상 병합 작업의 후보로 표시되지 않음을 나타낼 수 있습니다.
tf
명령줄 유틸리티를 사용하는 방법에 대한 자세한 내용은 Team Foundation 버전 제어 명령 사용을 참조하세요.
기본 없는 병합
근거 없는 병합을 사용하여 서로 직접 분기되지 않은 항목을 병합합니다. 기본 없는 병합을 수행하려면 tf merge
명령을 사용해야 합니다. 근거 없는 병합을 수행하는 경우 TFVC에는 분기의 파일 관계에 대한 정보가 없습니다. 근거 없는 병합에서는 수동 충돌 해결을 수행해야 합니다. 근거 없는 병합을 수행하고 충돌을 해결한 후 TFVC는 병합 기록을 기록하고 폴더와 파일 간의 관계를 설정합니다.
tf merge
실행하면 TFVC는 이전에 관련된 두 개의 버전 제어 트리에서 상대 이름이 같은 항목 간에 암시적 근거 없는 병합을 수행합니다. 예를 들어 관련 분기 $SRC
병합하고 $TGT
수 있습니다. 두 분기 모두 a.txt이름이 지정된 관련 없는 파일을 포함합니다.
tf merge
실행하면 TFVC는 두 파일이 같고 FIPS 규격 암호화가 비활성화되고 원본 파일이 대상의 다른 파일과 관련이 없는 경우 두 a.txt 파일 간에 관계를 설정합니다.
/noimplicitbaseless
옵션 집합으로 tf merge
실행하는 경우 TFVC가 두 분기를 병합하려고 하면 변경 내용을 체크 인하려고 할 때 두 a.txt 파일이 네임스페이스 충돌을 만듭니다. 충돌을 해결하려면 파일 중 하나의 이름을 바꿔야 합니다.
예제
다음 예제에서는 MyFile_RTM병합되지 않은 MyFile_beta1 변경 내용을 병합합니다.
c:\projects>tf merge MyFile_beta1 MyFile_RTM /recursive
다음 예제에서는 변경 집합 137을 branch2병합합니다.
c:\projects>tf merge /version:C137~C137 branch1 branch2 /recursive
다음 예제에서는 변경 집합 137까지 모든 변경 집합을 branch2병합합니다.
c:\projects>tf merge /version:C137 branch1 branch2 /recursive
다음은 branch2병합되지 않은 branch1 변경 집합 목록을 인쇄하는 예제입니다.
c:\projects>tf merge /candidate branch1 branch2 /recursive
다음 예제에서는 branch2branch1다시 병합되지 않은 변경 집합 목록을 인쇄합니다.
c:\projects>tf merge /candidate branch2 branch1 /recursive
다음 예제에서는 branch2병합할 후보로 변경 집합 137을 삭제합니다.
c:\projects>tf merge /discard /version:C137~C137 branch1 branch2 /recursive
다음 예제에서는 branch2병합할 후보로 변경 집합 137까지 모든 변경 집합을 삭제합니다.
c:\projects>tf merge /discard /version:C137 branch1 branch2 /recursive
관련 문서
- Team Foundation 버전 제어 충돌 해결
- Team Foundation 버전 제어 명령 사용
- 분기 명령
- Merges 명령
- 분기 및 병합