Polecenie Różnicy
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Visual Studio 2019 | Program Visual Studio 2022
Polecenie Kontroli wersji programu Team Foundation (TFVC) difference
porównuje, a jeśli to możliwe, różnice między dwoma plikami, plikami w dwóch folderach lub zestawem na półce i plikiem lokalnym lub serwerowym.
Warunki wstępne
Aby użyć polecenia difference
, należy mieć uprawnienie Odczyt dla wszystkich określonych elementów ustawionych na Zezwalaj na. Aby uzyskać więcej informacji, zobacz Domyślne uprawnienia serwera TFVC.
Składnia
tf diff[erence] itemspec [/version:versionspec] [/type:filetype]
[/format:format [/ignorespace] [/ignoreeol] [/ignorecase] [/recursive]
[/options][/noprompt][/login:username,[password]]
tf diff[erence] itemspec itemspec2 [/type:filetype] [/format: format]
[/ignorespace] [/ignoreeol] [/ignorecase] [/recursive] [/options] [/noprompt][/login:username,[password]]
tf diff[erence] [/shelveset:shelvesetname[;shelvesetowner]]
shelveset_itemspec [/type:filetype]
[/format: format] [/ignorespace] [/ignoreeol] [/ignorecase]
[/recursive] [/options] [/noprompt][/login:username,[password]]
tf diff[erence] /configure
Parametry
Argumenty
argumentów
opis
<itemspec>
Wymagane. Określa element do porównania. Jeśli nie określono wersji lub ścieżki, przyjmuje się bieżącą wersję obszaru roboczego. Akceptuje ścieżki serwera lokalnego i usługi Azure DevOps.
Aby uzyskać więcej informacji na temat analizowania itemspec
w celu określenia, które elementy znajdują się w zakresie, zobacz Use Team Foundation version control commands (Używanie poleceń kontroli wersji programu Team Foundation).
Polecenie difference
nie obsługuje symboli wieloznacznych.
Nie można połączyć tego parametru z opcją /shelveset
.
<itemspec2>
Fakultatywny. Element, do którego należy porównać itemspec
. Jeśli nie podasz drugiego itemspec
, zostanie użyta najnowsza wersja serwera usługi Azure DevOps.
<filetype>
Zawiera wartość opcji /type
. Można określić binary
lub text
oraz numer strony kodowej lub przyjazną nazwę strony kodowej.
<format>
Używany z opcją /format
, aby określić format danych wyjściowych jednego z następujących typów:
Visual
Brief
Context
RCS
SS
SS_SideBySide
SS_Unix
Unified
Unix
Te formaty danych wyjściowych zostały wyjaśnione w sekcji Uwagi.
<versionspec>
Wartość podana przez użytkownika dla opcji /version
. Aby uzyskać więcej informacji na temat analizowania specyfikacji wersji w celu określenia, które elementy znajdują się w jego zakresie, zobacz Use Team Foundation version control commands (Używanie poleceń kontroli wersji programu Team Foundation).
<shelvesetowner>
Identyfikuje właściciela zestawu półek według nazwy użytkownika. Jeśli nie podano wartości dla tego parametru, przyjmuje się, że bieżący użytkownik.
<shelvesetname>
Określa nazwę zestawu na półce. Można utworzyć więcej niż jeden zestaw półek o tej samej nazwie na serwerze, na którym działa serwer TFVC, o ile inny użytkownik jest właścicielem każdego zestawu półek.
<shelveset_itemspec>
Określa nazwę folderu lub pliku w zestawie na półce do porównania z podstawową wersją zestawu półek.
<username>
Udostępnia wartość opcji /login
. Wartość nazwy użytkownika można określić jako DOMAIN\username
lub username
.
Opcje
opcji
opis
/type
Zastępuje wszelkie wykryte kodowania i używa określonego kodowania do prezentowania plików aparatowi różnicowemu.
/version
Określa wersję pliku lub folderu do porównania. Domyślnie serwer TFVC używa wersji obszaru roboczego, jeśli nie podasz versionspec
.
Zamiast używać flagi /version
, można określić wersje, dołączając średnik i specyfikator wersji na końcu każdej nazwy pliku.
/format
Określa format danych wyjściowych określony przez argument format
.
/ignorespace
Nie wyróżnia odstępów między porównywanymi plikami.
/ignoreeol
Ignoruje różnice między nowymi znakami wiersza w dwóch plikach lub wersjach plików.
/ignoreeol
działa inaczej niż ignorespace
, która traktuje osiem spacji identycznie z jednym. Jeśli jednak używasz opcji /ignoreeol
i Plik A ma dwa nowe znaki wiersza między niezmienionym obszarem tekstu, a plik B ma jeden, wynik jest wyświetlany jako różnica. Jeśli oba pliki mają tylko jeden nowy wiersz, ale plik A używa \r\n
jako nowego wiersza, a plik B używa \n
, opcja /ignoreeol
zignorowałaby to jako różnicę.
/ignorecase
Nie wyróżnia różnic w wielkości liter między porównywanymi plikami.
/recursive
Porównuje różnice między bieżącym folderem a wszystkimi jego podfolderami.
/options
Określa ciąg opcji, który ma być wywoływany przez difference
. Aby uzyskać więcej informacji, zobacz Skojarz typ pliku z narzędziem różnicy i Skojarz typ pliku z narzędziem scalania.
/shelveset
Określa zestaw na półce do porównania z wersją serwera Usługi Azure DevOps, na której bazuje zestaw półek.
Tej opcji nie można połączyć z argumentem itemspec
. Aby porównać poszczególne elementy na półce, możesz podać shelveset_itemspec
.
/noprompt
Pomija wszystkie okna dialogowe, które w przeciwnym razie będą wyświetlane podczas kończenia tej operacji.
/configure
Wywołuje okno dialogowe Konfigurowanie narzędzi użytkownika z interfejsu użytkownika programu Visual Studio. Aby uzyskać więcej informacji, zobacz Skojarz typ pliku z narzędziem różnicy.
/login
Określa nazwę użytkownika i hasło do uwierzytelniania użytkownika za pomocą kontroli wersji serwera Team Foundation.
Uwagi
Nuta
Aby uruchomić to polecenie, możesz wpisać tf diff
lub tf difference
w wierszu polecenia.
Możesz użyć polecenia difference
do porównania i, jeśli to możliwe, różnice między:
Dwa różne pliki lub dwie wersje tego samego pliku.
Co najmniej jeden element w folderze.
Jeden, część lub wszystkie elementy w zestawie na półce na serwerze Usługi Azure DevOps.
Możesz użyć polecenia difference
, aby porównać zarówno pliki z wersjami, jak i bez wersji.
TfVC kategoryzuje wszystkie pliki według typu. Pliki tekstowe mogą być scalane i porównywane obok siebie i wiersz po wierszu, o ile oba pliki mają takie samo kodowanie. Jeśli chcesz porównać dwa pliki, których kodowanie nie jest takie samo, możesz tymczasowo maskować lub zastępować właściwość kodowania dla pliku przy użyciu opcji /type
.
Pliki binarne można porównać, ale nie można ich scalić. Po przekazaniu co najmniej jednego pliku binarnego do polecenia difference
funkcja TFVC wskazuje, czy istnieją między nim różnice a elementem, do którego jest porównywany. Aby uzyskać więcej informacji o tym, jak funkcja TFVC rozróżnia pliki różnych typów i traktuje je, zobacz Zarządzanie typami plików.
Jeśli określisz dwie nazwy plików, zostaną porównane dwa pliki. Zamiast używać flagi /version, można określić wersje, dołączając średnik i specyfikator wersji na końcu każdej nazwy pliku.
Jeśli przekażesz tylko jeden itemspec
do polecenia różnicy:
Jeśli nie podasz
versionspec
, bieżąca wersja obszaru roboczego elementu jest domyślnie porównywana z podstawową wersją obszaru roboczego. Na przykładtf difference header.h
porównuje bieżącą wersję header.h z wersją, na której jest oparty header.h.Jeśli uwzględnisz
versionspec
witemspec
, na przykładtf difference header.h;LBeta1
, kontrola wersji serwera TFVC porównuje wersję z bieżącą wersją obszaru roboczego na dysku.Jeśli określisz zakres wersji, takich jak
/version:C1~C4
, wersje pliku w dwóch punktach końcowych zakresu są porównywane.
Aby uzyskać więcej informacji na temat korzystania z narzędzia wiersza polecenia tf
, zobacz Używanie poleceń kontroli wersji programu Team Foundation.
Typy formatów danych wyjściowych
Parametr format
używany z opcją /format
określa wiele różnych formatów danych wyjściowych. Dostępne są następujące typy danych wyjściowych:
Visual
typ formatu otwiera aplikację różnicy zewnętrznej. Domyślnie jest uruchamiana diffmerge.exe.Brief
format drukuje, czy porównywane pliki różnią się.format
Context
zawiera wiersze kontekstu różnic w plikach. Ten format pochodzi z formatu wyjściowegodiff -c
opartego na systemie UNIX.RCS
format jest podobny do/format:unix
, z wyjątkiem wierszy kontekstu nie są dostarczane. Na końcu pliku nie podano żadnych specjalnych rąk dla brakującego znacznika linii.SS
jest domyślnym formatem danych wyjściowych różnicy dla programu Visual SourceSafe. Aby uzyskać więcej informacji, zobacz Diff (wiersz polecenia).SS_SideBySide
jest domyślnym formatem danych wyjściowych obok siebie dla programu Visual SourceSafe.SS_Unix
jest podobny do formatu danych wyjściowych/format:unix
, ale/format:ss_unix
zawiera wiersze kontekstu i nie/format:unix
.format
Unified
pochodzi z formatu wyjściowegodiff -u
opartego na systemie UNIX./format:context
powtarza identyczne wiersze kontekstu między ciągami różnicy, ale/format:unified
nie.Unified
format tworzy nowy ujednolicony ciąg różnicowy (@@ ... @@
) tylko wtedy, gdy odległość do następnego ciągu różnicy jest większa niż liczba wierszy kontekstu.Unix
typ danych wyjściowych pochodzi z formatu wyjściowego poleceniadiff
opartego na systemie UNIX.Format danych wyjściowych
Unix
jest skonstruowany w następujący sposób:<metadataline> "< " line prefix for lines from the first file "---" line "> " line prefix for lines from the second file <metadataline> can be one of these possibilities: #a#,# -- add lines from line # in file1 into file2 at lines #-># #,#d# -- delete lines from line # -> # in file 1 from file2 at line # #,#c#,# -- change lines from line # -> # in file1 into the lines in file2 at line # -> # # signs separated by commas indicate a line range. # signs before the character indicate line numbers in the first file. # signs after the character indicate line numbers in the second file. /// No end of line marker at the end of the file: /// \ No newline at end of file
Przykłady
W poniższym przykładzie przedstawiono różnice między lokalną wersją 314.cs a wersją obszaru roboczego 314.cs, która jest wersją pliku wyewidencjonowana z serwera Usługi Azure DevOps.
c:\projects>tf difference 314.cs
Poniższy przykład przedstawia wszystkie pliki, które zostały zmienione w folderze src, ale nie wyświetla plików, które zostały zmienione w podfolderach src.
c:\projects>tf difference src /format:visual
W poniższym przykładzie przedstawiono różnice między zestawem zmian 3 i zestawem zmian 8 1254.cs.
c:\projects>tf difference /version:C3~C8 1254.cs
W poniższych przykładach przedstawiono różnice między wersją 314.cs należącą do etykiety release
a wersją, która należy do zestawu zmian 3200.
c:\projects>tf difference 314.cs;Lrelease 314.cs;C3200
-lub-
c:\projects>tf difference 314.cs;Lrelease~C3200
W poniższym przykładzie przedstawiono różnicę między wersjami e271.cs, na których użytkownik o nazwie Pat odłożył na półce PeerCodeReview8
i wersję podstawowego zestawu na półce, na podstawie których opierają się na zmianach. Dane wyjściowe pokazują również typy zmian oczekujących na e271.cs
, gdy użytkownik odłożył.
c:\projects> tf difference /shelveset:PeerCodeReview8;Pat e271.cs
W poniższym przykładzie przedstawiono różnice między wszystkimi plikami w zestawie PeerCodeReview2
na półce i podstawową wersją tych plików.
c:\projects> tf difference /shelveset:PeerCodeReview2
Powiązane artykuły
- Scal polecenie
- polecenia checkin
- polecenia zestawów półek
- Zarządzanie typami plików
- Porównanie folderów i plików