Polecenie gałęzi (Kontrola wersji serwera Team Foundation)

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

Visual Studio 2019 | 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.

Uwaga

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.

Wymagania wstępne

Aby użyć branch polecenia, musisz mieć uprawnienie Odczyt dla elementu źródłowego, a uprawnienia Wyewidencjonuj i Scal dla folderu docelowego ustaw wartość Zezwalaj. Aby uzyskać więcej informacji, zobacz Domyślne uprawnienia kontroli wersji serwera Team Foundation.

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 Opis
<olditem> Określa nazwę pliku źródłowego lub folderu, który jest rozgałęziany. Element <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. <newitem> W przeciwnym razie określa nazwę pliku lub folderu docelowego. Konflikty mogą wystąpić podczas ewidencjonacji, jeśli miejsce docelowe już istnieje.
<versionspec> Zawiera wartość /version opcji. 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 /author przez użytkownika dla opcji.
<username> Udostępnia wartość /login opcji. Możesz określić wartość nazwy użytkownika jako DOMAIN\username lub <username>.

Opcja

Opcja

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 Opis typów blokad.

Opcje blokady:

  • none
    Domyślne. 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.

Uwaga

Możesz zapobiec pobieraniu elementów, takich jak zawartość folderu /images , podczas cyklicznego pobierania i pobierania najnowszych operacji przez zamaskowanie folderu obszaru roboczego. Aby uzyskać więcej informacji, zobacz Workfold Command (Polecenie folderu roboczego).

/noprompt

Pomija wszelkie monity dotyczące danych wejściowych.

/silent

Wskazuje /noget, i 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>, narzędzie 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 tf narzędzia wiersza polecenia, zobacz Use Team Foundation version control commands (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_branch i 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 usługi Azure DevOps Server i z bieżącego katalogu na dysku do folderu roboczego mapowania na folder usługi Azure DevOps Server danych testowych .

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 folderu testfiles 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 folderu 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

W poniższym przykładzie wersja 314.cs , do której zastosowano etykietę Beta1 , nada jej nazwę Beta1branch i zapisuje ją w bieżącym katalogu na dysku oprócz folderu usługi Azure DevOps Server, do którego mapuje bieżący katalog.

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