Conexão com o Controle de Versão do Team FoundationConnecting to Team Foundation Version Control

Note

Para obter a melhor experiência de controle de versão no macOS, recomendamos o uso do Git em vez do Controle de Versão do Team Foundation (TFVC).For the best version control experience on macOS, we recommend using Git instead of Team Foundation Version Control (TFVC). O Git é suportado no Visual Studio para Mac e é a opção padrão para repositórios hospedados no Team Foundation Server (TFS)/Azure DevOps.Git is supported in Visual Studio for Mac and is the default option for repositories hosted in Team Foundation Server (TFS)/Azure DevOps. Para saber mais sobre como usar o Git com o TFS/Azure DevOps, confira o artigo Configurar um Repositório Git.To learn more about using Git with TFS/Azure DevOps, see the Setting up a Git Repository article.

O Azure Repos fornece dois modelos de controle de versão: Git, um sistema de controle de versão distribuído, e Controle de Versão do Team Foundation (TFVC), um sistema de controle de versão centralizado.Azure Repos provides two models of version control: Git, a distributed version control system, and Team Foundation Version Control (TFVC), a centralized version control system.

O Visual Studio para Mac fornece suporte completo para repositórios Git, mas requer algumas soluções alternativas para trabalhar com o TFVC.Visual Studio for Mac provides full support for Git repositories, but requires some workarounds to work with TFVC. Se você estiver usando o TFVC para controle de versão hoje, aqui estão algumas soluções que você pode usar para acessar seu código-fonte hospedado no TFVC.If you're using TFVC for version control today, here are some solutions you can use to access your source code hosted in TFVC.

O restante deste artigo explica as opções listadas acima.The rest of this article walks you through the options listed above.

RequisitosRequirements

  • Visual Studio Community, Professional ou Enterprise para Mac versão 7.8 ou posterior.Visual Studio Community, Professional, or Enterprise for Mac version 7.8 or later.
  • Azure DevOps Services, Team Foundation Server 2013 e posterior, ou Azure DevOps Server 2018 e posterior.Azure DevOps Services, Team Foundation Server 2013 and later, or Azure DevOps Server 2018 and later.
  • Um projeto no Azure DevOps Services ou no Team Foundation Server/Azure DevOps Server, configurado para usar o Controle de Versão do Team Foundation.A project in Azure DevOps Services or Team Foundation Server/Azure DevOps Server, configured to use Team Foundation Version Control.

Usar o Visual Studio Code e a extensão Azure ReposUse Visual Studio Code and the Azure Repos extension

Se você gosta de trabalhar com uma interface gráfica para gerenciar seus arquivos no controle de versão, a extensão Azure Repos para o Visual Studio Code fornece uma solução com suporte da Microsoft.If you like to work with a graphical interface to manage your files in version control, then the Azure Repos extension for Visual Studio Code provides a supported solution from Microsoft. Para começar, faça o download do Visual Studio Code e saiba como configurar a extensão do Azure Repos.To get started, download Visual Studio Code and then learn how to configure the Azure Repos extension.

Conectar-se usando o cliente de linha de comando Team Explorer EverywhereConnecting using the Team Explorer Everywhere Command Line Client

Se você se sentir confortável usando o macOS Terminal, o Cliente de Linha de Comando do Team Explorer Everywhere (TEE-CLC) fornecerá uma forma com suporte de se conectar à sua fonte no TFVC.If you're comfortable using the macOS Terminal, then the Team Explorer Everywhere Command Line Client (TEE-CLC) provides a supported way to connect to your source in TFVC.

Você pode seguir as etapas abaixo para configurar sua conexão com o TFVC e confirmar as alterações.You can follow the steps below to set up your connection to TFVC and commit changes.

Um agradecimento especial a Chris Pilcher, um desenvolvedor em nossa comunidade, cujas instruções originais para o TEE-CLC formaram a base desta seção.Special thanks to Chris Pilcher, a developer in our community, whose original instructions for the TEE-CLC formed the basis of this section.

Configurar o TEE-CLCSetting up the TEE-CLC

Há duas maneiras de configurar com o TEE-CLC.There are two ways to get setup with the TEE-CLC.

  • Use o Homebrew para instalar o cliente ouUse Homebrew to install the client, or
  • Baixe e instale manualmente o clienteDownload and manually install the client

A solução mais fácil é usando o HomeBrew, que é um gerenciador de pacotes para macOS.The easiest solution is using HomeBrew, which is a package manager for macOS. Para instalar usando esse método:To install using this method:

  1. Inicie o aplicativo macOS Terminal.Launch the macOS Terminal application.
  2. Instale o Homebrew usando o Terminal e as instruções na página inicial do Homebrew.Install Homebrew using the Terminal and the instructions on the Homebrew home page.
  3. Uma vez instalado o Homebrew, execute o seguinte comando no seu Terminal: brew install tee-clcOnce Homebrew is installed, run the following command from your Terminal: brew install tee-clc

Para configurar manualmente o TEE-CLC:To setup the TEE-CLC manually:

  1. Faça o download da versão mais recente do tee-clc da página de lançamentos do repositório GitHub Team Explorer Everywhere (por exemplo, tee-clc-14.134.0.zip no momento desta publicação).Download the latest version of the tee-clc from the releases page of the Team Explorer Everywhere GitHub repo (e.g. tee-clc-14.134.0.zip at the time of this writing).
  2. Extraia o conteúdo do .zip para uma pasta no disco.Extract the content of the .zip to a folder on disk.
  3. Abra o aplicativo macOS Terminal e use o comando cd para alternar para a pasta usada na etapa anterior.Open the macOS Terminal app and use the cd command to switch to the folder you used in the previous step.
  4. Na pasta, execute o comando ./tf para testar se o cliente da linha de comando pode ser executado, você pode ser solicitado a instalar o Java ou outras dependências.From within the folder, run the command ./tf to test that the command line client can run, you may be prompted to install Java or other dependencies.

Depois que o TEE-CLC estiver instalado, você poderá executar o comando tf eula para visualizar e aceitar o contrato de licença do cliente.Once the TEE-CLC is installed, you can run the command tf eula to view and accept the license agreement for the client.

Por fim, para autenticar com seu ambiente TFS/Azure DevOps, você precisará criar um token de acesso pessoal no servidor.Finally, to authenticate with your TFS/Azure DevOps environment, you'll need to create a personal access token on the server. Saiba mais sobre autenticação com tokens de acesso pessoal.Learn more about authenticating with personal access tokens. Ao criar um token de acesso pessoal para usar com o TFVC, certifique-se de fornecer acesso completo ao configurar o token.When creating a personal access token to use with TFVC, be sure to provide Full Access when configuring the token.

Usar o TEE-CLC para se conectar ao seu repositórioUsing the TEE-CLC to connect to your repo

Para se conectar ao seu código-fonte, primeiro você precisa criar um espaço de trabalho usando o comando tf workspace.To connect to your source code, you first need to create a workspace using the tf workspace command. Por exemplo, os seguintes comandos se conectam a uma Organização no Azure DevOps Services chamada "MyOrganization":For example, the following commands connect to an Organization in Azure DevOps Services called "MyOrganization":

export TF_AUTO_SAVE_CREDENTIALS=1
tf workspace -new MyWorkspace -collection:https://dev.azure.com/MyOrganization

A configuração do ambiente TF_AUTO_SAVE_CREDENTIALS é usada para salvar suas credenciais, para que você não seja solicitado a inseri-las várias vezes.The TF_AUTO_SAVE_CREDENTIALS environment setting is used to save your credentials so you aren't prompted to enter them multiple times. Quando for solicitado um nome de usuário, use o token de acesso pessoal criado na seção anterior e use uma senha em branco.When prompted for a user name, use the personal access token you created in the previous section and use a blank password.

Agora, para criar um mapeamento de seus arquivos de origem para uma pasta local, você usará o comando tf workfold.Now, to create a mapping of your source files to a local folder, you'll use the tf workfold command. O exemplo a seguir mapeará uma pasta chamada "WebApp.Services" do projeto TFVC "MyRepository" e a configurará para ser copiada para a pasta ~/Projects/ local (ou seja, uma pasta "Projects" na pasta inicial dos usuários atuais).The following example will map a folder named "WebApp.Services" from the "MyRepository" TFVC project and set it up to be copied into the local ~/Projects/ folder (i.e. a "Projects" folder in the current users's home folder).

tf workfold -map $/MyRepository/WebApp.Services -workspace:MyWorkspace ~/Projects/

Por fim, use o seguinte comando para obter os arquivos de origem do servidor e copiá-los localmente:Finally, you use the following command to get the source files from the server and copy them locally:

tf get

Confirmar as alterações usando o TEE-CLCCommitting changes using the TEE-CLC

Depois de fazer alterações em seus arquivos no Visual Studio para Mac, você pode voltar ao Terminal para verificar suas edições.After you've made changes to your files in Visual Studio for Mac, you can switch back to the Terminal to check in your edits. O comando tf add é usado para adicionar arquivos à lista de alterações pendentes a serem registradas e o comando tf checkin executa a entrada real no servidor.The tf add command is used to add files to the list of pending changes to be checked-in and the tf checkin command performs the actual check-in to the server. O comando checkin inclui parâmetros para adicionar um comentário ou associar um item de trabalho relacionado.The checkin command includes parameters to add a comment or associate a related work item. No trecho de código a seguir, todos os arquivos em uma pasta WebApp.Services são adicionados, recursivamente, ao check-in.In the following code snippet, all files in a WebApp.Services folder are added, recursively, to the checkin. Em seguida, o código é verificado com um comentário e associado a um item de trabalho com a ID "42".Then, the code is checked in with a comment and associated with a work item with the ID "42".

cd WebApp.Services
tf add * /recursive
tf checkin -comment:"Replaced 'Northwand' typos with the correct word Northwind" -associate:42

Para aprender mais sobre os comandos mencionados aqui, ou outros, você pode usar o seguinte comando do Terminal:To learn more about the commands mentioned here, or others, you can use the following command from the Terminal:

tf help

Conectar-se ao TFVC usando a extensão de Controle de Versão do Team FoundationConnect to TFVC using the Team Foundation Version Control extension

Note

Para obter a melhor experiência de controle de versão no macOS, recomendamos o uso do Git em vez do Controle de Versão do Team Foundation (TFVC).For the best version control experience on macOS, we recommend using Git instead of Team Foundation Version Control (TFVC). O Git é suportado no Visual Studio para Mac e é a opção padrão para repositórios hospedados no Team Foundation Server (TFS)/Azure DevOps.Git is supported in Visual Studio for Mac and is the default option for repositories hosted in Team Foundation Server (TFS)/Azure DevOps. Para saber mais sobre como usar o Git com o TFS/Azure DevOps, confira o artigo Configurar um Repositório Git.To learn more about using Git with TFS/Azure DevOps, see the Setting up a Git Repository article.

Na galeria da extensão do Visual Studio para Mac, há uma extensão de Controle de Versão do Team Foundation que oferece suporte limitado para se conectar ao TFVC.In the Visual Studio for Mac Extension gallery, there is a Team Foundation Version control extension that offers limited support to connect to TFVC. A extensão não é compatível e tem vários problemas conhecidos, portanto, sua experiência pode variar ao usá-la.The extension is not supported and has several known issues, so your experience may vary when using it.

Para instalar a extensão, inicie o Visual Studio para Mac e escolha o menu Visual Studio > Extensões.To install the extension, launch Visual Studio for Mac and choose the Visual Studio > Extensions menu. Na guia Galeria, selecione Controle de Versão > Controle de Versão do Team Foundation para TFS e Azure DevOps e clique em Instalar... :In the Gallery tab, select Version Control > Team Foundation Version Control for TFS and Azure DevOps and click Install...:

Gerenciador de extensões

Siga os prompts para instalar a extensão.Follow the prompts to install the extension. Depois de instalá-la, reinicie o IDE.Once it's installed, restart the IDE.

Atualizando a extensãoUpdating the extension

Periodicamente, são feitas atualizações na extensão do TFVC.Updates to the TFVC extension are made periodically. Para acessar as atualizações, escolha Visual Studio > Extensões... no menu e selecione a guia Atualizações. Selecione a extensão na lista e pressione o botão Atualizar:To access updates, choose Visual Studio > Extensions... from the menu and select the Updates tab. Select the extension in the list and press the Update button:

Pressione Instalar na próxima caixa de diálogo para desinstalar o pacote antigo e instalar um novo.Press Install on the next dialog to uninstall the old package and install the new one.

Usar a extensãoUsing the extension

Depois de instalar a extensão, selecione o item de menu Controle de Versão > TFS/Azure DevOps > Abrir do Repositório Remoto... .Once the extension is installed, select the Version Control > TFS/Azure DevOps > Open from Remote Repository... menu item.

Item de menu para abrir a extensão

Escolha o VSTS ou o Team Foundation Server para começar e pressione Continuar:Choose either VSTS or Team Foundation Server to get started and press Continue:

Conectar a um servidor

Autenticação do Azure ReposAzure Repos Authentication

Quando você seleciona um projeto que está hospedado no Azure Repos, é solicitado que você insira os detalhes da conta Microsoft:When you select a project that is hosted on Azure Repos, you're prompted to enter your Microsoft account details:

Conectar-se com o Azure Repos

Autenticação do TFSTFS Authentication

Para conectar-se ao TFS, insira os detalhes do servidor e suas credenciais da conta.To connect to TFS, enter the server details and your account credentials. Insira um domínio para usar a autenticação NTLM, caso contrário, deixe em branco para usar a autenticação básica.Enter a domain to use NTLM authentication, otherwise leave blank to use basic authentication. Selecione Adicionar Servidor:Select Add Server:

Entrar em um servidor TFS

Selecionando um projetoSelecting a project

Depois que você se autenticar com êxito, será exibida uma lista de repositórios associados à conta na caixa de diálogo Abrir do Controle do Código-Fonte:Once you've successfully authenticated, you can see a list of repositories that are associated with the account in the Open from Source Control dialog:

Caixa de diálogo Abrir do Controle do Código-Fonte com projetos exibidos

Essa caixa de diálogo é organizada com os seguintes nós:This dialog is organized with the following nodes:

  • Organização ou coleção do Azure DevOps – Exibe todas as organizações conectadas à conta Microsoft com que você fez logon.Azure DevOps organization or collection – This displays all organizations connected to the Microsoft account you logged in with.
  • Projetos – Em cada organização ou coleção, você pode ter um número de projetos.Projects - In each organization or collection, you can have a number of projects. Um projeto é onde o código-fonte, os itens de trabalho e os builds automatizados são hospedados.A project is where source code, work items, and automated builds are hosted.

Neste ponto, você pode pesquisar e filtrar pelo nome de um projeto ou de uma organização.At this point, you can search and filter by the name of a project or organization.

Adicionando um novo servidorAdding a new server

Para adicionar um novo servidor à lista, pressione o botão Adicionar Host na caixa de diálogo Abrir do Controle do Código-Fonte:To add a new server to the list, press the Add Host button on the Open from Source Control dialog:

Botão de adição realçado para adicionar o novo servidor à lista

Selecione o provedor na lista e insira suas credenciais:Select the provider from the list, and enter your credentials:

Caixa de diálogo mostrando a opção de provedor de controle do código-fonte

Criando um novo workspaceCreating a new workspace

Para começar a trabalhar com um projeto, você precisa ter um workspace.To start working with a project, you need to have a workspace. Se você ainda não tem um workspace, crie um na caixa de combinação Workspace na caixa de diálogo Abrir do Controle do Código-Fonte:If you don't already have a workspace, you can create one from the Workspace combobox in the Open from Source Control dialog:

Opção da caixa de combinação Criar workspace

Defina o nome e o caminho local para seu novo workspace e selecione Criar Workspace:Set the name and local path for your new workspace and select Create Workspace:

Inserindo um nome e um caminho local para o novo workspace

Usando o Source Code ExplorerUsing the Source Code Explorer

Depois de criar um workspace e mapear o projeto, você poderá começar a trabalhar com o Source Code Explorer.Once you've created a workspace and mapped your project, you can start working with the Source Code Explorer.

Para abrir o Source Code Explorer, selecione o item de menu Controle de Versão > TFS/Azure DevOps > Source Control Explorer.To open the Source Code Explorer, select the Version Control > TFS/Azure DevOps > Source Control Explorer menu item.

O Source Code Explorer permite que você navegue em todos os projetos mapeados e em seus arquivos e pastas.The Source Code Explorer enables you to navigate through all the mapped projects, their files, and folders. Ele também permite que você execute todas as ações básicas de controle do código-fonte, como:It also allows you to perform all the basic source control actions such as:

  • Obter a versão mais recenteGet the latest version
  • Obter uma versão específicaGet a specific version
  • Fazer check-out e check-out de arquivosCheck files in and out
  • Bloquear e desbloquear arquivosLock and unlock files
  • Adicionar, excluir e renomear arquivosAdd, delete, and rename files
  • Exibir históricoView history
  • Comparar alterações.Compare changes.

Muitas dessas ações estão disponíveis por meio de ações de contexto no projeto:Many of these actions are available through context actions on the project:

Ações de menu de contexto para um projeto

Gerenciando workspacesManaging workspaces

Se você ainda não criou um espaço de trabalho, conforme descrito na seção Criando um espaço de trabalho, o Source Code Explorer estará vazio:If you haven't already created a workspace, as described in the Creating a workspace section, you'll notice that the Source Code Explorer is empty:

Source Code Explorer vazio

Para configurar seu projeto remoto com um workspace local, use as seguintes etapas:To set up your remote project with a local workspace, use the following steps:

  1. Selecione o Servidor na caixa de combinação.Select the Server from the combobox.

  2. Observe que não há "nenhum workspace" e o caminho local está como "Não Mapeado".Note that there are "no workspaces" and that the Local Path is "Not Mapped". Selecione o link Não Mapeado para exibir a caixa de diálogo Criar Workspace.Select the Not Mapped link to display the Create new Workspace dialog.

  3. Forneça um nome para o workspace e, em seguida, clique em Adicionar Pasta de Trabalho para mapear o projeto para uma pasta local no seu computador:Provide a name for the workspace and then click Add Working Folder to map the project to a local folder on your computer:

    Caixa de diálogo Criar Workspace, mostrando as opções padrão

  4. Selecione a pasta "$" para mapear todos os projetos em seu servidor para o mesmo espaço de trabalho ou selecione um projeto individual e clique em OK:Select the "$" folder to map all projects on your server to the same workspace, or select an individual project, and click OK:

    Navegue para a caixa de diálogo de pasta mostrando todos os projetos

  5. Selecione o local em seu computador local para onde deseja mapear os projetos e clique em Selecionar Pasta.Select the location on your local machine that you wish to map the project(s) to and click Select Folder.

  6. Confirme os detalhes do novo workspace pressionando OKConfirm the details of the new workspace by pressing OK

    Caixa de diálogo Criar Workspace, com a pasta de trabalho adicionada

Depois que o workspace for configurado, ele poderá ser alterado ou removido clicando no botão Gerenciar Workspaces no Source Code Explorer.Once your workspace is set up, it can be changed or removed by clicking the Manage Workspaces button in the Source Code Explorer.

Gerenciar Workspaces

Solução de problemas e problemas conhecidosTroubleshooting and Known Issues

Problemas no uso da autenticação básicaProblems using basic authentication

As opções a seguir podem ser usadas para a autenticação no servidor:The following options can be used to authenticate with a server:

  • OAuthOauth
  • BasicBasic
  • NTLMNtlm

Para usar a autenticação Básica é necessário habilitar Credenciais de autenticação alternativas no Azure DevOps Services, seguindo as etapas abaixo:To use basic authentication it is necessary to enable Alternative authentication credentials in Azure DevOps Services, by following the steps below:

  1. Entre na sua organização Azure DevOps como proprietário (https://dev.azure.com/{organization}/{project}).Sign in to your Azure DevOps organization as the owner (https://dev.azure.com/{organization}/{project}).

  2. Na barra de ferramentas da organização, selecione o ícone de engrenagem e escolha Política:From your organization toolbar, select the gear icon and select Policy:

    Opção de configurações de política selecionada

  3. Examine as configurações de conexão do aplicativo.Review your application connection settings. Altere essas configurações, com base em suas políticas de segurança:Change these settings, based on your security policies:

    Opção de configurações de política selecionada

Não vejo nada no TFVCI do not see anything in TFVC

Para definir o TFVC (Controle de Versão do Team Foundation) no computador de desenvolvimento, você precisa criar um workspace, conforme a descrição na seção Gerenciando workspaces.To set up Team Foundation Version Control (TFVC) on your dev machine, you must create a workspace, as described in the Managing workspaces section.

No Source Control Explorer, pressione o botão Gerenciar Workspaces.In Source Control Explorer, press the Manage Workspaces Button. Siga as etapas para mapear o projeto para uma pasta no computador de desenvolvimento.Follow the steps to map the project to a folder on your dev machine.

Não vejo um/nenhum dos meus projetosI do not see any / all of my projects

Após a autenticação, você deverá ver a lista de projetos.After authenticating you should see the list of projects. Por padrão, apenas os projetos do TFS são mostrados.By default, only TFS projects are shown. Para ver outros tipos de projetos, marque a caixa "Ver todos os projetos".To see other types of projects, check the "See all projects" box.

Tenha em mente que os projetos que estão no servidor não serão exibidos se você não tiver os privilégios corretos.Keep in mind that projects that are on the server will not appear if you don't have the correct privileges.

Estou recebendo o erro "Não é possível criar o workspace.I am getting the error "Cannot create the workspace. Tente novamente"Please, try again"

Ao tentar criar um workspace, verifique se as seguintes condições são atendidas:When trying to create a new workspace, you should make sure the following conditions are met:

  • Nenhum uso de caracteres inválidos no nome do workspace.No use of invalid characters in the workspace name.
  • O nome deve ter menos de 64 caracteres.The name must be less than 64 characters.
  • O caminho local não pode ser usado por outros workspaces.The local path cannot be used by any other workspaces.

Consulte tambémSee also