Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Neste artigo, encontre respostas para perguntas frequentes sobre o Git, especificamente adaptadas para o Azure Repos. Se você deseja gerenciar ramificações remotas, identificar sua ramificação atual ou lidar com outras tarefas menos comuns do Git, este guia fornece dicas e soluções úteis. Mergulhe nas seções a seguir para aprimorar seu fluxo de trabalho do Git e resolver problemas comuns.
Como posso baixar facilmente uma ramificação remota para meu repositório local?
Primeiro, certifique se você tem o repositório origin
configurado. Você deve ter isso se clonou seu repositório usando git clone
. Quando você faz check-out de uma ramificação que não existe localmente, o Git verifica se há uma ramificação remota com o mesmo nome. Se houver, o Git cria um ramo local que faz referência ao ramo remoto. Use git pull
para baixar os commits e atualizar o histórico do branch localmente.
Como descobrir em qual branch estou trabalhando?
Execute git branch
sem argumentos para mostrar as ramificações locais e destacar a que você fez check-out. No Visual Studio, a barra de status também exibe o branch atual quando você está trabalhando com um projeto armazenado em um repositório Git local.
Quando fazer commits do Git?
É uma prática recomendada fazer commits separados para alterações logicamente distintas. Pense nos commits como entradas em um livro de registro. Sempre que fizer uma alteração digna de nota, registre-a em um commit. Uma abordagem popular é permitir commits locais frequentes, mas esmagá-los por meio de rebase antes de fazer o push. Isso proporciona flexibilidade e, ao mesmo tempo, mantém o histórico de commits simplificado.
Se cada branch mantiver seu histórico completo de commits, isso não dificultará o acompanhamento histórico de commits de *main* ao longo do tempo?
Projetos grandes com muitos commits e colaboradores podem resultar em um main
histórico de branch que reflete o desenvolvimento de branches de tópico mais do que o projeto geral. O Git permite condensar commits em branches por meio de commits de squash e rebase. A combinação por squash de commits torna o histórico do branch menos detalhado, simplificando o histórico de commits no branch principal depois de mesclado.
Como descobrir quem fez uma alteração específica em um arquivo?
Use o comando git blame
para descobrir quem fez uma alteração específica em um arquivo. No repositório local, é possível executar git blame
com o parâmetro -L
, especificando as linhas de interesse. Blame
produz a saída formatada mostrando o commit que atualizou pela última vez a linha e o nome da pessoa que fez o commit.
> git blame Example_repo -L 20,+40 # show the blame output for the next 40 lines starting at line 20
215d1108 (Example User 2015-11-21 09:54:23 -0800 20) line 20 of the code
215d1108 (Example User 2015-11-21 09:54:23 -0800 21) line 21 of the code
215d1108 (Example User 2015-11-21 09:54:23 -0800 22) line 22 of the code
Blame
pesquisa o histórico de commits para você. Você também pode examinar o histórico de um arquivo no portal da Web para determinar quem fez uma alteração e quando. Abra o Code Explorer do seu repositório e o branch e selecione o arquivo em questão. O Azure Repos mostra o histórico de commit completo do arquivo no branch atual.
Fiz alterações em alguns arquivos e agora não consigo fazer o check-out em uma ramificação diferente ou fazer o rebase do meu trabalho.
Fazer check-out em um branch diferente no Git afeta o estado dos arquivos em seu sistema de arquivos. O Git usa o histórico de commits para garantir que você trabalhe com os arquivos que representam o estado do branch. Se você tentar alterar branches enquanto tiver alterações não confirmadas, essas alterações serão substituídas durante o check-out. Como o Git não quer que você perca acidentalmente suas alterações, ele impede que o check-out aconteça. Você tem duas opções:
- Abandone as alterações e retorne ao commit mais recente. Confira como desfazer alterações no Git para ver instruções de reversão para o commit mais recente.
- Confirme as alterações. Confira como salvar seu trabalho no Git com commits.
- Fazer stash do trabalho atual, salvando as alterações para mais tarde e limpando o workspace para o último commit.
A solicitação de pull não pode ser mesclada com esta mensagem: não é possível mesclar automaticamente: um dos objetos git internos (blob, árvore, commit ou tag) é muito grande, o que causou a exceção TF401022. Você pode tentar usar o LFS, dividir a mesclagem ou o commit grande em vários pequenos.
Esse problema está relacionado a conflitos de mesclagem em arquivos binários grandes. O limite atual para arquivos é de 100 MB. A solução alternativa é resolver os conflitos de mesclagem localmente, mesclando o destino na origem localmente, resolvendo os conflitos e enviando as alterações.
O Git LFS (Large File Storage) é recomendado para armazenar arquivos binários grandes, não apenas para evitar conflitos, mas também para gerenciar o tamanho geral do repositório, o que afeta os tempos de clone e push.
Fiz alguns trabalhos, mas preciso mudar para outra coisa. Como salvar meu trabalho para mais tarde sem fazer commit das alterações?
Se você quiser salvar suas alterações sem fazer commit, use o Git stash
. O Stash salva as alterações atuais preparadas e não preparadas em sua ramificação e reverte sua ramificação para o estado do último commit. Em seguida, você pode alternar para outro branch, fazer seu trabalho e depois executar stash apply
para restaurar suas alterações.
git stash
Saved working directory and index state WIP on feature1: be26067 updated endpoint docs
HEAD is now at be26067
Quando você executar [git stash apply
], as alterações armazenadas mais recentes são aplicadas ao seu ramo atual. Se houver um conflito, [stash
] restaura as alterações dos arquivos que não estão em conflito e cria marcadores de conflito nos arquivos que estão em conflito. É necessário mesclar as alterações manualmente nesse caso.
Quando terminar de usar o estoque, exclua-o com [git stash drop
]. Esse comando remove o último conjunto de alterações armazenadas.
Você pode ter vários estoques, mas gerenciá-los exige mais manipulação manual, por ser necessário aplicar e soltar estoques explicitamente. Saiba mais com a documentação do Git Stash.
Como alterar o editor padrão para ferramentas de linha de comando do Git?
Por padrão, o Git de linha de comando usa um editor de linha de comando ao solicitar mensagens de commit, executar trocas de base e outros trabalhos que requerem informações adicionais para serem concluídos. O editor padrão é configurado com git config
:
> git config core.editor _path_to_editor_ _options_to_editor_
O Git para Windows facilita a definição do bloco de notas como o editor:
> git config core.editor notepad
Este comando configura o Bloco de Notas do Windows para editar informações do Git conforme necessário e passar corretamente o texto do Git para o Bloco de Notas. Também é possível especificar
> git config format.commitMessageColumns 72
para manter as colunas de texto nas mensagens de commit no 72 preferencial e fazer a quebra linha depois de atingir o limite de caracteres em uma linha.
Como alterar o nome de usuário e o email exibidos em meus commits?
O Git coloca um nome de usuário e informações de endereço de email dentro de cada commit, e o Azure Repos usa essas informações ao exibir commits e ao trabalhar com pull requests.
Se você estiver trabalhando na linha de comando, poderá atualizar as informações de nome e email exibidas com o comando git config
:
> git config --global user.email "example-user@example-site.com"
> git config --global user.name "Example User"
A opção --global
define o email e o nome incluídos em commits para todos os repositórios Git nesse sistema. Se você quiser alterar as configurações de um único repositório, altere para o diretório em que o Repositório do Git está localizado e execute os comandos acima sem o sinalizador --global
.
Também é possível alterar as configurações de nome e email do Visual Studio. No menu Git, selecione Configurações Na caixa de diálogo Opções, selecione Configurações globais do Git ou Configurações do Repositório do Git>Geral.
O Visual Studio 2019 versão 16.8 e versões posteriores fornece uma experiência de controle de versão do Git, mantendo a interface do usuáriodo Team Explorer Git. Para usar o Team Explorer, desmarque Ferramentas>Opções>Versão prévia do recurso>Nova experiência do usuário do Git na barra de menus. Você pode exercer os recursos do Git de qualquer interface de forma intercambiável.
No Team Explorer, escolha Configurações, e abaixo de Git, selecione o link Configurações globais ou Configurações de repositório.