Udostępnij za pośrednictwem


Polecenie gałęzi (Kontrola wersji team foundation)

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Visual Studio 2019 | Program Visual Studio 2022

Polecenie tfVC branch kopiuje element lub zestaw elementów, w tym metadanych i historii kontroli wersji, z jednej lokalizacji do innej na serwerze Usługi Azure DevOps i w lokalnym obszarze roboczym.

Nuta

Wyniki tego polecenia nie zostaną odzwierciedlone na serwerze usługi Azure DevOps, dopóki nie wykonasz operacji zaewidencjonowania. Aby uzyskać więcej informacji, zobacz Zaewidencjonuj swoją pracę w bazie kodu zespołu.

Warunki wstępne

Aby użyć polecenia branch, należy mieć uprawnienie Odczyt dla elementu źródłowego, a wyewidencjonuj i uprawnienia scalania dla folderu docelowego ustawionego na Zezwalaj na. Aby uzyskać więcej informacji, zobacz Domyślne uprawnienia serwera TFVC.

Składnia

tf branch olditem newitem [/version:versionspec] [/noget] [/lock:(none|checkin|checkout)] [/noprompt] [/silent] [/checkin] [/comment:("comment"|@commentfile)] [/author:authorname] [/login:username, [password]] [/recursive]

Parametry

Argument

argumentów opis
<olditem> Określa nazwę pliku źródłowego lub folderu, który jest rozgałęziany. <olditem> może również zawierać informacje o wersji w formacie item;version.
<newitem> Określa nazwę pliku docelowego lub folderu docelowego lub folderu nadrzędnego dla miejsca docelowego. Jeśli <*newitem> już istnieje i jest folderem usługi Azure DevOps Server, narzędzie TFVC tworzy w nim rozgałęzione elementy. W przeciwnym razie <newitem> określa nazwę pliku lub folderu docelowego. Konflikty mogą wystąpić podczas ewidencjonacji, jeśli miejsce docelowe już istnieje.
<versionspec> Zawiera wartość 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).
<comment> Zawiera komentarz dotyczący gałęzi.
@<commentfile> Określa ścieżkę pliku zawierającego komentarz używany dla gałęzi.
<authorname> Wartość podana przez użytkownika dla opcji /author.
<username> Udostępnia wartość opcji /login. Wartość nazwy użytkownika można określić jako DOMAIN\username lub <username>.

Opcja

opcji

opis

/version

Wersja elementu, w którym chcesz utworzyć gałąź. Możesz określić wersję, wykonując następujące czynności:

  • Data/godzina (D10/20/2005)
  • Numer zestawu zmian (C1256)
  • Etykieta (Lmylabel)
  • Najnowsza wersja (T)
  • Obszar roboczy (Wworkspacename)

Jeśli nie podano żadnej wersji, funkcja TFVC używa następującej logiki, aby zdecydować, która wersja elementu ma być kopiowana do nowej gałęzi:

  • Jeśli zostanie określona ścieżka serwera Usługi Azure DevOps, narzędzie TFVC rozgałęzia element w najnowszej wersji usługi Azure DevOps Server. Na przykład tf branch $/projects/help.cs używa wersji serwera.
  • Jeśli dla źródła zostanie określona ścieżka lokalna, serwer TFVC używa lokalnej wersji obszaru roboczego do utworzenia nowej gałęzi. Na przykład tf branch C:\314.cs używa lokalnej wersji obszaru roboczego.

Jeśli rozgałęzisz plik, którego wersja obszaru roboczego jest starsza niż najnowsza wersja serwera usługi Azure DevOps, plik zostanie rozgałęziony w starszej wersji.

/lock

Uniemożliwia innym użytkownikom zaewidencjonowanie lub wyewidencjonowanie elementów do momentu zaewidencjonuj oczekującej gałęzi i skojarzonych zmian. Aby uzyskać więcej informacji, zobacz Understanding Lock Types.

Opcje blokady:

  • none
    Domyślny. Nie zastosowano blokady. Jeśli blokada istnieje w pliku, dla którego tworzysz gałąź, ta opcja zostanie usunięta.
  • checkin
    Inni użytkownicy mogą wyewidencjonować określone elementy, ale nie mogą zaewidencjonować poprawek w zablokowanych plikach, dopóki nie zwolnisz blokady, wykonując zaewidencjonowywanie. Jeśli inni użytkownicy zablokowali dowolny z określonych elementów, operacja blokowania zakończy się niepowodzeniem.
  • checkout
    Uniemożliwia innym użytkownikom zaewidencjonowanie lub wyewidencjonowanie dowolnego z określonych elementów do momentu zwolnienia blokady przez wykonanie ewidencjonowania. Jeśli inni użytkownicy zablokowali dowolny z określonych elementów, operacja blokowania zakończy się niepowodzeniem.

/noget

Jeśli ta opcja jest określona, lokalne kopie plików i folderów w nowej gałęzi nie są tworzone w lokalnym obszarze roboczym. Jednak kopie lokalne zostaną pobrane do obszaru roboczego przy następnym wykonaniu cyklicznej operacji pobierania.

Nuta

Możesz uniemożliwić pobieranie elementów, takich jak zawartość folderu /images, pobieranie do obszaru roboczego podczas cyklicznych operacji pobierania i pobieranie najnowszych operacji przez zamaskowanie folderu obszaru roboczego. Aby uzyskać więcej informacji, zobacz Workfold Command.

/noprompt

Pomija wszelkie monity dotyczące danych wejściowych.

/silent

Wskazuje /nogeti określa, że dane wyjściowe nie są zapisywane w oknie wiersza polecenia podczas tworzenia gałęzi.

/checkin

Tworzy i sprawdza w gałęzi serwer w jednej operacji. Ta opcja nie tworzy żadnych oczekujących zmian w lokalnym obszarze roboczym.

/comment

Dodaje komentarz do nowej gałęzi. Ta opcja jest używana tylko z opcją /checkin.

/author

Identyfikuje autora nowej gałęzi. Ta opcja jest używana tylko z opcją /checkin.

/recursive

W przypadku folderów należy również rozgałęzić wszystkie pliki wewnątrz.

Uwagi

Jeśli określisz ścieżkę lokalną, taką jak c:\00101, ale nie określisz <versionspec>, serwer TFVC używa lokalnej wersji obszaru roboczego jako podstawy do tworzenia nowej gałęzi.

Jeśli jednak określisz ścieżkę serwera, taką jak $/00101/*.cs i nie określisz <versionspec>, funkcja TFVC używa najnowszej wersji serwera Azure DevOps Server jako podstawy do utworzenia nowej gałęzi.

Aby uzyskać więcej informacji na temat korzystania z narzędzia wiersza polecenia tf, zobacz Używanie poleceń kontroli wersji programu Team Foundation.

Przykłady

W poniższych przykładach przyjęto założenie, że c:\projects mapuje na folder główny w obszarze roboczym.

Poniższy przykład tworzy plik gałęzi zawierający najnowszą wersję obszaru roboczego 314.cs, nada mu nazwę 314_branchi zapisuje go w bieżącym katalogu na dysku, a także w folderze usługi Azure DevOps Server, do którego mapuje.

c:\projects>tf branch 314.cs 314_branch

Poniższy przykład kopiuje wszystkie pliki bez oczekujących edycji w wersji obszaru roboczego 314.cs z bieżącego folderu usługi Azure DevOps Server do folderu testdata folderem usługi Azure DevOps Server i z bieżącego katalogu na dysku do folderu roboczego mapowania na folder testdata azure DevOps Server.

c:\projects>tf branch C:\314.cs $/testdata

Poniższy przykład kopiuje wszystkie pliki bez oczekujących edycji w bieżącej wersji obszaru roboczego plików testowych folderu i plików, które zawiera dla wszystkich elementów z bieżącego folderu usługi Azure DevOps Server do folderu testfiles_branch Azure DevOps Server i z c:\testfiles do folderu lokalnego mapowania na folder testfiles_branch Azure DevOps Server.

c:\projects>tf branch C:\testfiles $/testfiles_branch

Poniższy przykład tworzy gałąź 314.cs, ponieważ istniała w zestawie zmian #4 dla pliku. W folderze roboczym na dysku, podobnie jak na serwerze Usługi Azure DevOps, tworzony jest plik gałęzi o nazwie csharp_branch.

c:\projects>tf branch C:\314.cs;C4 csharp_branch

Poniższy przykład tworzy nową gałąź 314.cs, tak jak w dniu 12.12.03. W folderze roboczym na dysku, tak jak na serwerze Usługi Azure DevOps, zostanie utworzony plik gałęzi o nazwie 314\branch.

c:\projects>tf branch 314.cs;D12/12/03 314_branch

Poniższy przykład odgałęzienia wersji 314.cs, do której zastosowano etykietę Beta1, nazwij ją Beta1branchi zapisuje go w bieżącym katalogu na dysku oprócz folderu serwera Azure DevOps Server, do którego jest mapowania bieżącego katalogu.

c:\projects>tf branch 314.cs;LBeta1 314_Beta1branch