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 /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>
, 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