현재 로컬 작업 공간에있는 변경 세트를 어떻게 알 수 있습니까?
물론입니다. 파일 하나를 선택하여 기록을 볼 수 있습니다. 그러나 해당 파일이 최근에 업데이트되지 않은 경우 해당 변경 집합은 동일한 솔루션에서 가장 최근에 업데이트 된 파일보다 오래되었을 수 있습니다.
한 가지 가능한 실수는 솔루션 파일의 기록을 보는 것입니다. 그러나 새 프로젝트를 추가하거나 솔루션 수준을 변경하지 않는 한 솔루션 파일은 거의 변경되지 않습니다.
마지막으로 변경 세트를 파악하려면 최근에 변경된 파일이 무엇인지 기억하고 기록을 확인해야합니다.
이 작업을 수행하는 더 좋은 방법이 있습니까?
답변
답변은 Buck Hodges의 MSDN 블로그 에 있습니다. 작업 영역에서 최신 변경 집합을 확인하는 방법
작업 공간의 루트 (맨 위)에서 cmd에서 다음을 수행합니다.
tf history . /r /noprompt /stopafter:1 /version:W
답변
tf.exe history . /r
직접 사용하는 일반적인 대답 은 작동하지만 매우 느릴 수 있습니다. 우리의 경우에는 10-15 초가 걸립니다. 이제 2 단계 검사를 사용하여 먼저 일부 임의 파일의 개정을 확인합니다 (루트 폴더에있는 파일을 사용하고 있습니다).
powershell 사용 :
$tfexepath = "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\tf.exe"
$localpath = "C:\some\tfs\directory"
$result = & $tfexepath history $localpath /noprompt /stopafter:1 /version:W
"$result" -match "\d+" | out-null
$id = $matches[0]
그런 다음 / r 플래그를 사용하여 루트 에서 검색 하지만 위에서 찾은 개정판에서 시작 하도록 검색 을 제한합니다 .
$result2 = & $tfexepath history $localpath /r /noprompt /stopafter:1 /version:$id~W
"$result2" -match "\d+" | out-null
$id2 = $matches[0]
#result:
Write-Host $id2
코드베이스의 경우 총 시간이 10-15 초에서 1.4-1.5 초로 단축됩니다.
내가 이해하는 한 단점이나 한계는 없지만 작은 저장소에서는 더 느릴 수 있다고 생각합니다. -알았 으면 좋겠어요.
답변
Visual Studio CMD (제 경우에는 VS2015의 경우 “VS2015의 개발자 명령 프롬프트”라고 함)를 실행 한 다음 프로젝트 폴더로 이동하여 다음 명령을 실행합니다.
tf history . /r /noprompt /stopafter:1 /version:W
답변
PowerShell을 사용하려는 경우 ( 참조 ; @kroonwijk의 답변에 해당 ) :
-
tfs 스냅인 활성화 (아직없는 경우 한 번)
add-pssnapin Microsoft.TeamFoundation.PowerShell
-
tfs cmdlet을 사용하여 현재 변경 집합 ID 가져 오기
Get-TfsItemHistory <PATH_TO_PROJECT> -Recurse -Stopafter 1 -Version W
답변
어떤 버전을 가지고 있는지 잘 모르겠다면 다른 권장 방법 중 하나를 사용해야합니다. 특정 버전이 있는지 확실하지 않거나 몇 가지 변경 세트 사이에 불확실하고 VS TFS GUI에서 작업하는 것을 선호하는 경우 다음 단계를 수행 할 수 있습니다.
즉, 해당 버전이 최신 상태임을 의미합니다.