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